如何从R中的数据框中删除重复的行[重复]

Posted

技术标签:

【中文标题】如何从R中的数据框中删除重复的行[重复]【英文标题】:How to remove duplicated rows from data frame in R [duplicate] 【发布时间】:2015-11-03 04:43:13 【问题描述】:

如何从数据框中删除重复的行

  Area    Population
GOMBAK       668,694
GOMBAK       668,694
GOMBAK       668,694
  Batu       285,288
  Batu       285,288
 KLANG       842,146
 KLANG       842,146

成为

GOMBAK    668,694
  Batu    285,288 
 KLANG     842,14

【问题讨论】:

到目前为止你尝试了什么? 我试过这个 MK 【参考方案1】:

尝试使用duplicated()函数:

df <- data.frame(Area=c("GOMBAK", "GOMBAK", "GOMBAK", "Batu", "Batu", "KLANG", "KLANG"),
                 Population=c(668694, 668694, 668694, 285288, 285288, 842146, 842146))
df <- df[!duplicated(df), ]

> df
    Area Population
1 GOMBAK     668694
4   Batu     285288
6  KLANG     842146

如果你想计算人口的总和,那么以下应该可以工作:

sum(as.numeric(levels(df$Population)))

有必要使用levels,因为根据您在评论中提到的内容,您的人口列是factor

【讨论】:

是的,谢谢,知道如何对人口列求和吗?我需要完全抱歉,但我是 R 的新手 谢谢兄弟 我有这个错误 错误在 Summary.factor(c(124L, 77L, 49L, 135L, 26L, 144L, 23L, 75L, 113L, : 'sum' 对因素 是的,这是一个因素,非常感谢 为什么不只是unique( df )【参考方案2】:
sqldf('SELECT DISTINCT * FROM df')

【讨论】:

【参考方案3】:

使用dplyr

library(dplyr)
df %>% distinct

【讨论】:

以上是关于如何从R中的数据框中删除重复的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

删除另一个数据框中的行[重复]

如何在 R 中合并同一数据框中的行(基于特定列下的重复值)?

如何删除R数据框中的列[重复]

我如何从数据框中删除具有重复/重复索引的行[重复]

从 R 中的数据框中删除重复的列组合

根据条件从 r 中的多列中删除重复的行