基于计数列拆分值

时间:2013-02-20 02:55:22

标签: r

我有一个包含2列的数据框

>mydata <- data.frame(Obj = c(1,2,3,2), Count = c(2,3,1,4))
>mydata
  Obj Count
1   1     2
2   2     3
3   3     1
4   2     4

我想根据count分割Obj列以获取原子对象 (1,1,2,2,2,3,2,2,2,2) 是的,它与功能相反。在R中有没有这样做的功能?

P.S:一个简单的for循环可以做到这一点,但我觉得使用内置的高效函数总是好的。

2 个答案:

答案 0 :(得分:2)

您正在寻找rep,其中Count是次要参数

with(mydata, rep(Obj, Count))

rep.int,这是rep(x, times)

的稍快一点的实现
with(mydata, rep.int(Obj,  Count))

答案 1 :(得分:2)

尝试

rep(mydata$Obj,mydata$Count)