如何从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中的数据框中删除重复的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章