如何根据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.