使用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删除两列的重复项?
答案 0 :(得分:0)
我的理解是我们需要将不同的调用分开。如果我们使用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