如何根據R資料框中特定列的重複值來子集行?


重複也是我們在資料分析過程中面臨的一個問題。我們可以使用subset函式內部的duplicated函式找到R資料框中特定列中具有重複值的那些行。這將僅根據我們選擇的列返回重複行,這意味著第一個唯一值將不會出現在輸出中。

示例

 線上演示

Consider the below data frame:
x1<-1:20
x2<-rpois(20,4)
df1<-data.frame(x1,x2)
df1

輸出

  x1 x2
1  1 7
2  2 6
3  3 2
4  4 6
5  5 1
6  6 7
7  7 5
8  8 2
9  9 2
10 10 2
11 11 3
12 12 2
13 13 1
14 14 3
15 15 3
16 16 3
17 17 5
18 18 5
19 19 7
20 20 3

基於x2列中的重複項建立df1的行 -

示例

subset(df1,duplicated(x2))

輸出

  x1 x2
4   4 6
6   6 7
8   8 2
9   9 2
10 10 2
12 12 2
13 13 1
14 14 3
15 15 3
16 16 3
17 17 5
18 18 5
19 19 7
20 20 3

示例

 線上演示

y1<-LETTERS[1:20]
y2<-sample(0:5,20,replace=TRUE)
df2<-data.frame(y1,y2)
df2

輸出

  y1 y2
1  A 5
2  B 4
3  C 1
4  D 2
5  E 3
6  F 4
7  G 1
8  H 4
9  I 3
10 J 1
11 K 5
12 L 5
13 M 0
14 N 3
15 O 5
16 P 0
17 Q 1
18 R 4
19 S 2
20 T 3

基於y2列中的重複項建立df2的行 -

示例

subset(df2,duplicated(y2))

輸出

  y1 y2
6  F 4
7  G 1
8  H 4
9  I 3
10 J 1
11 K 5
12 L 5
14 N 3
15 O 5
16 P 0
17 Q 1
18 R 4
19 S 2
20 T 3

更新於: 2020年12月5日

10K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.