假设我有以下内容,
ID Times
555 1
444 4
777 5
我想获得[555,444,444,444,444,777,777,777,777,777]的输出(它得到一个数组,其中包含ID列的时间列数)。我尝试了以下方法:
apply(dat, 1, function(d) rep(d['ID'], times = d['Times']))
但这是一个list
而我无法找到将其合并为数组的方法。非常感谢任何帮助。
答案 0 :(得分:6)
只需使用rep
:
with(dx,rep(ID,Times))
## 555 444 444 444 444 777 777 777 777 777
答案 1 :(得分:1)
这应该有效:
> unlist(mapply(rep, dat$ID, dat$Times))
[1] 555 444 444 444 444 777 777 777 777 777