如何在R语言中创建包含重复行的DataFrame?重复次数可以根据数字序列或固定次数来确定。


有时需要在数据框中创建重复行,主要用于扩展数据大小,而不是收集原始数据。这节省了时间,但肯定存在一些偏差,因此不推荐。虽然不推荐,但在某些情况下是必要的,例如,如果无法收集原始数据,我们就可以这样做。如果这样做,我们必须在分析报告中说明。

示例

考虑以下数据框df:

> x<-1:10
> y<-letters[1:10]
> df<-data.frame(x,y)

创建一个新的数据框,其中在原始行之后再打印一行:

> df[rep(seq_len(nrow(df)), times = 2), ]
      x y
1     1 a
2     2 b
3     3 c
4     4 d
5     5 e
6     6 f
7     7 g
8     8 h
9     9 i
10   10 j
1.1   1 a
2.1   2 b
3.1   3 c
4.1   4 d
5.1   5 e
6.1   6 f
7.1   7 g
8.1   8 h
9. 1  9 i
10.1 10 j

创建一个新的数据框,其中重复行逐一打印:

> df[rep(seq_len(nrow(df)), each = 2), ]
      x y
1     1 a
1.1   1 a
2     2 b
2.1   2 b
3     3 c
3.1   3 c
4     4 d
4.1   4 d
5     5 e
5.1   5 e
6     6 f
6.1   6 f
7     7 g
7.1   7 g
8     8 h
8.1   8 h
9     9 i
9.1   9 i
10   10 j
10.1 10 j

根据数字序列重复每一行:

> df[rep(seq_len(nrow(df)), times = 1:10), ]
      x y
1     1 a
2     2 b
2.1   2 b
3 3     c
3.1   3 c
3.2   3 c
4 4     d
4.1   4 d
4.2   4 d
4.3   4 d
5 5     e
5.1   5 e
5.2   5 e
5.3   5 e
5.4   5 e
6     6 f
6.1   6 f
6.2   6 f
6.3   6 f
6.4   6 f
6.5   6 f
7     7 g
7.1   7 g
7.2   7 g
7.3   7 g
7.4   7 g
7.5   7 g
7.6   7 g
8     8 h
8.1   8 h
8.2   8 h
8.3   8 h
8.4   8 h
8.5   8 h
8.6   8 h
8.7   8 h
9     9 i
9.1   9 i
9.2   9 i
9.3   9 i
9.4   9 i
9.5   9 i
9.6   9 i
9.7   9 i
9.8   9 i
10   10 j
10.1 10 j
10.2 10 j
10.3 10 j
10.4 10 j
10.5 10 j
10.6 10 j
10.7 10 j
10.8 10 j
10.9 10 j

更新于:2020年8月10日

932 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告