R语言怎么去除重复行,不保留第一行

现在看到的很多删除重复行的函数unique、distinct等等在筛选重复行并删除时,都会保留第一次出现。有没有什么办法可以把重复行全部删除的,换言之只保留从未跟其他数据重复过的数据


R语言 现在看到的很多删除重复行的函数unique、distinct等等在筛选重复行并删除时,都会保留第一次出现。有没有什么办法可以把重复行全部删除的,换言之只保留从未跟其他数据重复过的数据?

可以使用R语言中的duplicated函数,该函数可以标记出重复行,然后可以使用subset函数来删除重复行。

例子:

# 定义数据集
dat <- data.frame(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                  y = c(2, 3, 3, 4, 4, 6, 7, 8, 8, 10))

# 标记重复行
duplicated_rows <- duplicated(dat)

# 删除重复行
dat_unique <- subset(dat, !duplicated_rows)

# 输出结果
dat_unique
#    x  y
# 1  1  2
# 2  2  3
# 4  4  4
# 6  6  6
# 7  7  7
# 9  9  8
# 10 10 10
table(df$a) #计算每项出现的次数,df为矩阵,a为参考变量那列
df[!(df$a %in% unique(df$a[duplicated(df$a)])),] #只保留a列唯一即不重复的项的行