在一个值上对R中的数据帧进行重复数据删除,选择其他列的任何值

时间:2014-02-07 22:10:17

标签: r

想象一下df x:

name         value
tyler        1
tyler        2
jake         1
steph        3

我想在名称上重复删除行,但不关心它附带的'value'的值,以便得到结果的df

name         value
tyler        [1 or 2, I dont care]
jake         1
steph        3

我有一个唯一的标识符列,我想要不同的值,还有18个其他列,我需要一个,任意值。

3 个答案:

答案 0 :(得分:4)

  

x = x [!duplicated(x $ name),]

在bdmarest对我的问题发表评论时提供

答案 1 :(得分:1)

您可以尝试:与dplyr包不同。

distinct(x, name, .keep_all = TRUE)

这将从数据框name中删除基于x的重复行。根据您从value列返回任何值的请求,请使用.keep_all = TRUE。默认值FALSE将删除除数据框之后指定的列以外的所有列。

答案 2 :(得分:0)

尝试unique

x <- data.frame(name=c("tyler", "tyler", "jake", "steve"), value=c(1,3,4,6))
unique(x$name)