样例数据
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
,它会重复第i个元素的alpha
在给定值的batch
中出现的次数(例如,对于batch = 1,应将alpha的第1个值重复出现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)
。 - markus