如何在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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.