2012-12-07 28 views
11

PHP有一个similar question,但我正在与R一起工作,无法将解决方案转换为我的问题。如何删除所有重复项,以便NONE保留在数据框中?

我有这个数据框10行50列,其中一些行是绝对相同的。如果我使用唯一的,我得到一行 - 我们说 - “类型”,但我真正想要的是只得到那些只出现一次的行。有谁知道我能做到这一点?

我可以看看集群和热图来手动对它进行分类,但是我有比上面提到的更大的数据框(最多100行),这有点棘手。

回答

33

这将提取其中只出现一次的行(假设你的数据帧被命名为df):

df[!(duplicated(df) | duplicated(df, fromLast = TRUE)), ] 

它是如何工作:功能duplicated测试是否出现至少第二次行从第一行开始。如果使用参数fromLast = TRUE,则该函数从最后一行开始。

两个布尔结果都与|(逻辑'或')组合成一个新的向量,表示所有行出现多次。使用!来取消这个结果,从而创建一个布尔向量,指示只出现一次的行。

相关问题