我有一个包含许多重复行的数据集,我希望只隔离不重复的值。 我的数据框大致如下
df <- data.frame("group" = c("A", "A", "A","A","A","B","B","B"),
"id" = c("id1", "id2", "id3", "id1", "id2","id1","id2","id1"),
"Val" = c(10,10,10,10,10,12,12,12))
我想提取的是没有重复的行,即我的最终数据集应该如下所示。
final <- data.frame("group" = c("A","B"),
"id" = c("id3","id2"),
"Val" = c(10,12))
请注意,我不是在寻找唯一值,而是非重复值。我知道如何找到唯一值,例如df %>% distinct()
可以完成任务。我正在努力找到非重复的行。
dplyr
解决方案,作用域动词(_if
、_at
、_all
)已经被现有动词中的across()
取代。我建议您更新您的解决方案以反映这一点:df %>% group_by(across(everything())) %>% filter(n() ==1)
。 - Pål Bjartan