保留重复删除的唯一值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保留重复删除的唯一值相关的知识,希望对你有一定的参考价值。

有一个重复数据框(只有一列),如下所示:

df  <- data.frame(id = c("A","A","A","B","B","B","C","C"))

怎么可能有一个新的df,它具有重复的唯一值?

预期输出的示例

df  <- data.frame(id = c("A","B","C"))

我试过的是这个。它有一个级别,但我认为这不是解决方案:

df$id[duplicated(df$id)]
[1] A A B B C
Levels: A B C
答案

我们可以使用distinct包中的函数。

library(dplyr)

df2 <- df %>% distinct()
df2
#   id
# 1  A
# 2  B
# 3  C

如果有id以外的列,我们可以执行以下操作仅比较id中的重复项并保留所有其他列。

df2 <- df %>% distinct(id, .keep_all = TRUE)
df2
#   id
# 1  A
# 2  B
# 3  C
另一答案

为什么我们不简单地使用base-r中的unique

> unique(df)
  id
1  A
4  B
7  C
另一答案

在基地R

unique( df )
  id
1  A
4  B
7  C

做的工作。您可以将其分配给新的data.frame

df2 <- unique( df )

如果您希望其他列不受影响,请将调用限制为第一列:

df2 <- unique( df[ 1 ] )

以上是关于保留重复删除的唯一值的主要内容,如果未能解决你的问题,请参考以下文章

怎样删除EXCEL表重复数据,保留最新的一个

Oracle删除重复记录只保留一条数据的几种方法

Oracle删除重复记录只保留一条数据的几种方法

Mysql数据库中多条重复数据,如何只删除一条?

excel怎么样自动选择重复项中的唯一值

删除一张表中重复数据并保留一条ID最小的记录