【发布时间】:2019-09-16 16:39:14
【问题描述】:
如何删除与某些列重复的行,并保留具有非重复列的特定值/字符的一行?
换句话说: 如何选择保留哪一行,而另一行删除一些重复的列
这是用于 R data.frame。
我已经试过了:
Data.frame 是 X
deduped.data <- unique( X[ , 1:5 ] )
问题:我无法保留具有非重复行的列
X <- X %>% distinct()
问题:我不知道哪一行可以删除,某些列中有重复项
在以前的问题列表中,我没有找到答案:保留/删除哪一行的信息可用
deduped.data <- unique( X[ , 1:5 ] )
X <- X %>% distinct()
一个例子
Data.frame X:
第 1 行:性别:男性,年龄:20,国家:意大利
第 2 行:性别:男性,年龄:20,国家:法国
第 3 行等
我想删除第 1 列和第 2 列的重复项并保留 Country Italy。我希望第 2 行被删除。据我所知,unique() 和 distinct() 都可以做到这一点。
【问题讨论】:
-
试试
X %>% distinct(Gender, Age, .keep_all = TRUE)。来自?distinct:.keep_all 如果TRUE,则将所有变量保留在.data中。如果...的组合不是不同的,则保留第一行值。 -
是的,它成功了!通过
X <- arrange(X, desc(country)),我可以安排意大利排在第一位,我想保留它。谢谢!
标签: r duplicates row conditional-statements