首页 > 解决方案 > 用 r 中的变量重复行

问题描述

我有一个带有 n 行的 data.frame,我想根据另一个变量的观察重复这些行

这是 data.frame 的示例

df <- data.frame(a=1:3, b=letters[1:2]) 
df

  a b
1 1 a
2 2 b
3 3 c

这是一个变量的例子

df1 <- data.frame(x=1:3)
df1

  x
1 1
2 2
3 3

在下一步中,我想通过观察 df1 重复 df 中的每一行

所以它看起来像这样

  a b
1 1 a
2 2 b
3 2 b
4 3 c
5 3 c
6 3 c

如果您知道如何解决此问题,我将不胜感激

标签: r

解决方案


您可以简单地重复索引,如:

df[rep(1:3,df1$x),]
#    a b
#1   1 a
#2   2 b
#2.1 2 b
#3   3 c
#3.1 3 c
#3.2 3 c

或不固定为 3 号

df[rep(seq_along(df1$x),df1$x),]

推荐阅读