use*_*563 6 r duplicates dataframe
我试图弄清楚如何从数据框中删除所有唯一的行,但如果它有重复,我希望它留在.例如 - 我希望所有列与col1相同:
df<-data.frame(col1=c(rep("a",3),"b","c",rep("d",3)),col2=c("A","B","C",rep("A",3),"B","C"),col3=c(3,3,1,4,4,3,2,1))
df
col1 col2 col3
1 a A 3
2 a B 3
3 a C 1
4 b A 4
5 c A 4
6 d A 3
7 d B 2
8 d C 1
subset(df,duplicated(col1))
col1 col2 col3
2 a B 3
3 a C 1
7 d B 2
8 d C 1
Run Code Online (Sandbox Code Playgroud)
但我希望有1,2,3,6,7,8行,因为它们都有相同的col 1.如何将1和6包括在内?或者,相反,如何删除没有重复的行?
Mat*_*rde 13
另外一个选项:
subset(df,duplicated(col1) | duplicated(col1, fromLast=TRUE))
Run Code Online (Sandbox Code Playgroud)
尝试:
> tdf <- table(df$col1)
a b c d
3 1 1 3
df[df$col1 %in% names(tdf)[tdf>1],]
> df
col1 col2 col3
1 a A 3
2 a B 3
3 a C 1
6 d A 3
7 d B 2
8 d C 1
Run Code Online (Sandbox Code Playgroud)