现在我有number
如下所示:
.df
v1 v2 v3
1 2 3
如果4 5 6
的{{1}}不等于v2
的{{1}},我应该如何处理rownames,然后删除这两行?
谢谢大家。
更新:
对于下面的这个df,您可以看到第1行和第2行的rownames(df) %% 2 == 0
相同,所以我想将这两行保持为一对(v2
显示为1和4) 。
同样地,我想保留第10行和第11行,因为它们具有相同的rownames(df) %% 2 == 1
并且它们是一对。
我该怎么做才能获得新的df?
答案 0 :(得分:1)
1)创建一个带有列的数据框,其次数为id
library(sqldf)
df2=sqldf("select count(id),id from df group by id"
2)合并他们
df3=merge(df1,df2)
3)仅在count> 1
时选择df3[df3$count>1,]
答案 1 :(得分:1)
如果您要查找的是保留配对ID并删除其余ID(我怀疑它就像这样简单),那么..
提取您的ID:我已将它们写出来,您应该提取。
id = c(263733,263733,2913733,3243733,3723733,4493733,273733,393733,2953733,3583733,3583733)
对它们进行排序
找出要保留的内容。
id1 = cbind(id[1:length(id)-1],id[2:length(id)])
chosenID = id1[which(id1[,1]==id1[,2]),1]
chosenID
。