这看起来很简单,但我无法弄清楚.
鉴于此数据框架
df=data.frame( x = c(12,12,165,165,115,148,148,155,155,521), y = c(54,54,122,122,215,108,108,655,655,151) ) df x y 1 12 54 2 12 54 3 165 122 4 165 122 5 115 215 6 148 108 7 148 108 8 155 655 9 155 655 10 521 151
现在,我如何获得仅存在一次的行.这是第5行和第10行.行的顺序可以完全是任意的,因此检查"下一行"不是一种选择.我尝试了很多东西,但是我的data.frame没有任何工作,它有大约40k行.
我有一个解决方案在我的data.frame的子集(~1k行)上工作,需要3分钟来处理.因此,我的解决方案需要120分钟的原始data.frame,这是不合适的.有人可以帮忙吗?
检查duplicated
数据框的开头和结尾,如果没有返回true,则选择它:
df[!(duplicated(df) | duplicated(df, fromLast = TRUE)),] # x y #5 115 215 #10 521 151