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

时间:2015-08-11 05:03:49

标签: r

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

  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

3 个答案:

答案 0 :(得分:2)

尝试使用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,基于您在评论中提到的内容。

答案 1 :(得分:0)

sqldf('SELECT DISTINCT * FROM df')

答案 2 :(得分:0)

使用dplyr

library(dplyr)
df %>% distinct