首页 > 解决方案 > 想要删除重复的行,但所有行都被删除

问题描述

我正在尝试删除数据框中的重复行。

df<-df[-which(duplicated(df[c("type")])),]

列“类型”类是字符。肯定有唯一值,但所有行都被删除。

nrow(unique(df$type))

它说'NULL'。

有什么可能的问题?

标签: rduplicates

解决方案


duplicated返回一个 TRUE/FALSE 向量,因此在这种情况下您不需要该 which函数。

df <- data.frame(x = c(0,1,1,0), y = c(2,1,0,0))
df

#   x y
# 1 0 2
# 2 1 1
# 3 1 0
# 4 0 0

!duplicated(df$x,)
# [1]  TRUE  TRUE FALSE FALSE

df <- df[ !duplicated( df$x ) ,]
df

#   x y
# 1 0 2
# 2 1 1

推荐阅读