【发布时间】:2018-01-05 00:38:40
【问题描述】:
这看起来很简单,但我想不通。
给定这个数据框
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 分钟才能处理。因此,我的解决方案在我的原始 data.frame 上需要 120 分钟,这是不合适的。有人可以帮忙吗?
【问题讨论】:
-
如果您只是在寻找一种快速的视觉方法,您可以使用
table(df$x, df$y)。这不会返回行号,而是会返回一个矩阵,其中行中的值为x,列中的值为y。 -
这个问题已经被问过好几次了,谷歌快速搜索返回:例如stackoverflow.com/questions/38142890/…, stackoverflow.com/questions/27408439/…。
标签: r dataframe duplicates unique