![](/img/trans.png)
[英]R - Group by dplyr, and remove duplicates only if ALL members in group are duplicated
[英]remove duplicates with distinct() dplyr in R
使用dplyr庫
1.我需要從df1的mtcars表中創建2列的新對象
2.在df2中,從df1需要10到20
3.需要從兩列的df2中刪除重復項
df= mtcars %>% select(mpg,hp)
df2= slice(df,10:20)
distinct(df2, mpg,hp, .keep_all=TRUE)
在這里,distinct()不會在沒有任何重復的情況下打印df2,它與所有值相同。 也許它必須與列表類型有關。 另一個觀察結果是在df中將汽車名稱用作行名稱,但在df2中,行名稱只是數字值。
如何使用dplyr刪除兩個列的重復項?
我的理解是我們需要將不同的調用分開。 如果我們使用distinct(df2, mpg,hp, .keep_all=TRUE)
,則要求在同一行的兩列中都沒有重復的列,這在給定的數據集中不會發生,因此將返回所有內容。
如果我們首先返回hp
沒有重復項的所有行,然后獲取該數據並僅返回mpg
沒有重復項的行,則將獲得預期的結果。
library(dplyr)
df= mtcars %>% select(mpg,hp)
df2= slice(df,10:20)
df3<-distinct(df2, hp, .keep_all=TRUE)
df4<-distinct(df3, mpg, .keep_all=TRUE)
> df4
mpg hp
1 19.2 123
2 16.4 180
3 10.4 205
4 14.7 230
5 32.4 66
6 30.4 52
7 33.9 65
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.