Ale*_*lex 6 r unique rows data-manipulation
我有一个包含许多重复行的数据集,我想仅隔离非重复值。我的 df 看起来像这样
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))
Run Code Online (Sandbox Code Playgroud)
我想提取的只是没有重复的行。即我的最终数据集应该如下所示
final <- data.frame("group" = c("A","B"),
"id" = c("id3","id2"),
"Val" = c(10,12))
Run Code Online (Sandbox Code Playgroud)
请注意,我对查找唯一值不感兴趣,而是对不重复的值感兴趣。我知道如何找到独特的价值,例如df %>% distinct()做这份工作。它正在区分我正在努力解决的非重复行
这是一种选择。
\nlibrary(dplyr)\ndf %>%\n group_by(group) %>% \n filter(!(duplicated(id)|duplicated(id, fromLast = TRUE)))\nRun Code Online (Sandbox Code Playgroud)\n或dplyr单独与
df %>% \n group_by_all %>%\n filter(n() ==1)\nRun Code Online (Sandbox Code Playgroud)\n或者在较新版本中dplyr(由 @P\xc3\xa5l Bjartan 建议)
df %>% \n group_by(across(everything())) %>% \n filter(n() ==1)\nRun Code Online (Sandbox Code Playgroud)\n或者使用base R
df[!(duplicated(df[1:2])|duplicated(df[1:2], fromLast = TRUE)),]\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1879 次 |
| 最近记录: |