How to subset rows of an R data frame based on duplicate values in a particular column?


Duplication is also a problem that we face during data analysis. We can find the rows with duplicated values in a particular column of an R data frame by using duplicated function inside the subset function. This will return only the duplicate rows based on the column we choose that means the first unique value will not be in the output.

Example

 Live Demo

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

Output

  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

Create rows of df1 based on duplicates in column x2 −

Example

subset(df1,duplicated(x2))

Output

  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

Example

 Live Demo

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

Output

  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

Create rows of df2 based on duplicates in column y2 −

Example

subset(df2,duplicated(y2))

Output

  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

Updated on: 05-Dec-2020

9K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements