【发布时间】:2021-01-14 22:01:20
【问题描述】:
样本数据
batch <- c(rep(1,3), rep(2,4), rep(3,5))
batch
[1] 1 1 1 2 2 2 2 3 3 3 3 3
alpha <- c(0.05, 0.04, 0.03)
问题陈述
我想创建一个向量,比如alphai,它以给定值重复alpha 的第i 个元素在batch 中出现的次数(例如,对于batch = 1,第一个值的 alpha 应该重复出现 1 的次数)。所需的输出应如下所示:
alpha
[1] 0.05 0.05 0.05 0.04 0.04 0.04 0.04 0.03 0.03 0.03 0.03 0.03
请提供仅基于 R 的解决方案,谢谢!
编辑
我希望提供的代码可以在批处理情况下工作,其中批处理可以是非递增序列或非连续序列(即 1、3、4、5 等)
batch2 <- c(rep(1,3), rep(3, 4), rep(4,5))
batch2
[1] 1 1 1 3 3 3 3 4 4 4 4 4
alpha 应该仍然是
[1] 0.05 0.05 0.05 0.04 0.04 0.04 0.04 0.03 0.03 0.03 0.03 0.03
【问题讨论】:
-
顺便说一句,
batch可以这样创建rep(1:3, 3:5) -
很高兴知道,谢谢!