【发布时间】:2019-12-03 22:58:47
【问题描述】:
我有一个包含两列的 df:SurveyID 和 Species。
SurveyID=c(1,1,1,2,2,3,3,3)
Species=c(NA,NA,"GRSH",NA,NA,NA,"RAZO","RAZO")
df=data.frame(cbind(SurveyID,Species))
我想在两种情况下删除重复项:
1.删除所有具有相同survey ID和NASpecies的重复项
2. 具有相同调查 ID 且混合有NA 和Species(例如“RAZO”)的行仅通过删除带有NASpecies 的行来显示带有物种的行。
产品 df 应如下所示:
df2=data.frame(cbind(SurveyID=c(1,2,3,3),Species=c("GRSH",NA,"RAZO","RAZO")))
我尝试使用条件进行子设置,但这删除了重复的物种并保留了不需要的重复 SurveyID 行和 NA Species。
df1= unique(df)
df1=df1[!is.na(df1$Species) | is.na(df1$Species)&!duplicated(df1$SurveyID),]
有什么建议吗?我也是新手,所以如果我的问题需要澄清/格式化,请告诉我!
【问题讨论】:
标签: r duplicates unique