【发布时间】:2016-02-15 17:49:42
【问题描述】:
我只想在数据集中保留不重复的行。这比“删除重复”更进一步;也就是说,我想消除所有重复行的副本,而不仅仅是重复的副本,并且只保留最初从未重复的行。
数据集:
df <- data.frame(A = c(5,5,6,7,8,8,8), B = sample(1:100, 7))
df
A B
5 91
5 46
6 41
7 98
8 35
8 56
8 36
想把它变成:
A B
6 41
7 98
这是我尝试使用 dplyr 的方法:
df_single <- df %>% count(A) %>% filter(n == 1)
# Returns all the values of A for which only one row exists
df %>% filter(A == df_single$A)
# Trying to subset only those values of A, but this returns error
# "longer object length is not a multiple of shorter object length"
感谢您的帮助。一个不错的奖励是执行相反操作的附加代码(保留所有 OTHER 行 - 即,仅从数据集中消除非重复行)。
【问题讨论】:
标签: r