gpt4 book ai didi

在 R 中使用 distinct() dplyr 删除重复项

转载 作者:行者123 更新时间:2023-12-03 23:52:53 25 4
gpt4 key购买 nike

使用 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

关于在 R 中使用 distinct() dplyr 删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54817637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com