如何根据R中的某些列变量筛选与后续行匹配的行?
我有一个类似于下面这个的数据框如何根据R中的某些列变量筛选与后续行匹配的行?,r,R,我有一个类似于下面这个的数据框 Firstname<-c('Anne','Anne','Mich','Mich','Peter','Darren') Middlename<-c('','C','','','T','T') Lastname<-c('Jones','Hooper','Blake','Blake', 'Ramirez','Wilson') lidnum<-c(0001,00001,00003,00003,00004,00004) df<-data.fr
Firstname<-c('Anne','Anne','Mich','Mich','Peter','Darren')
Middlename<-c('','C','','','T','T')
Lastname<-c('Jones','Hooper','Blake','Blake', 'Ramirez','Wilson')
lidnum<-c(0001,00001,00003,00003,00004,00004)
df<-data.frame(Firstname,Middlename,Lastname,lidnum)
Firstname Middlename Lastname lidnum
1 Anne Jones 1
2 Anne C Hooper 1
3 Mich Blake 3
4 Mich Blake 3
5 Peter T Ramirez 4
6 Darren T Wilson 4
你可以做:
df[duplicated(df[c("Firstname", "Lastname")]) | duplicated(df[c("Firstname", "Lastname")], fromLast = TRUE), ]
Firstname Middlename Lastname lidnum
3 Mich Blake 3
4 Mich Blake 3
你可以做:
df[duplicated(df[c("Firstname", "Lastname")]) | duplicated(df[c("Firstname", "Lastname")], fromLast = TRUE), ]
Firstname Middlename Lastname lidnum
3 Mich Blake 3
4 Mich Blake 3
使用
dplyr
和tidyr
:df%>%group\u by(Firstname,Lastname)%%nest()
或group\u split(df,Firstname,Lastname)
df%>%group\u by(Firstname,Lastname)%%过滤器(n()?使用dplyr
和tidyr
:df%>%group\u by(Firstname,Lastname)%%nest(
或分组(df,Firstname,Lastname)
df%>%groupby(Firstname,Lastname)%%>%filter(n()>1)
子集(df,ave(lidnum,Firstname,Lastname,FUN=length)>1)
稍微短一点。子集(df,ave(lidnum,Firstname,Lastname,FUN=length)>1)
稍微短一点。
df[duplicated(df[c("Firstname", "Lastname")]) | duplicated(df[c("Firstname", "Lastname")], fromLast = TRUE), ]
Firstname Middlename Lastname lidnum
3 Mich Blake 3
4 Mich Blake 3