怎么用R语言去重

Python015

怎么用R语言去重,第1张

你的意思是不是按照剩余n-1列进行去重啊?

如果是这种,直接用duplicated函数,例如

set.seed(1234)

df <- data.frame(x1 = sample(c("Normal","Unnormal"), 10, replace = TRUE),

x2 = sample(c("a","b"), 10,replace = TRUE),

x3 = sample(c("c","d"), 10,replace = TRUE))

df

df[!duplicated(df[,-1]),] # 按第2,3列去重后的结果

如果是要去重且必须指定第一列值是“正常”,可以用dplyr包

library(dplyr)

df %>% group_by(x2,x3) %>% filter(x1 == "Normal" &row_number() == 1) %>% ungroup() #

R语言第二章数据处理③删除重复数据

果子学生信

1.保留第一个重复: A,A,B,C --->A,B,C

2.去掉所有重复:A,A,B,C --->B,C

一般情况函数默认都是保留第一个重复。

比如:

在R中识别和删除重复数据:

主要运用 dplyr::n()

do包中的duplicate()命令和duplicated()命令的主要区别是前者包含了所有重复项,后者不包含重复的第一项。

duplicate()命令在开发版的do包中,CRAN上的do包并不包含这一命令。

安装方法是devtools:install_github("yikeshu0611/do")

去掉所有重复最简洁函数: df %>% group_by(a) %>% filter(n()==1)