根据列添加数据框中的行副本

时间:2014-04-29 23:02:59

标签: r dataframe

如果我有以下数据框

  df
  a b c
1 a 3 0
2 b 4 1
3 c 3 0

如何获得以下输出,其中原始数据帧的行被克隆的频率与b列中的数字一样频繁?

这是所需的输出:

   df2
   a b c
 1 a 3 0
 2 a 3 0
 3 a 3 0
 4 b 4 1
 5 b 4 1
 6 b 4 1
 7 b 4 1
 8 c 3 0
 9 c 3 0
10 c 3 0

1 个答案:

答案 0 :(得分:1)

d[rep(seq_len(nrow(d)), d$b),]
    a b c
1   a 3 0
1.1 a 3 0
1.2 a 3 0
2   b 4 1
2.1 b 4 1
2.2 b 4 1
2.3 b 4 1
3   c 3 0
3.1 c 3 0
3.2 c 3 0