将apply的输出组合到R中的数组中

时间:2015-09-24 20:47:16

标签: r

假设我有以下内容,

    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而我无法找到将其合并为数组的方法。非常感谢任何帮助。

2 个答案:

答案 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