怎么用R语言去重

Python042

怎么用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)

最近正在学习R语言,碰到了因子factor,自己很不理解,网上找了很多的资料,可是感觉都说的很难,自己不是很理解,所以自己决定写一篇博客来帮助和自己一样有困惑的小伙伴。

首先,因子是离散的,它不是连续的,它只是一个标签。举个例子:

下面我们主要介绍一个关于因子的关键函数factor()及他的一些参数!

这里主要说三个参数

x,我们主要传入的是一个向量,就像上面的例子一样。

为了研究第二、三个参数我们做如下test:

注意到,我们的元素是有重复的,细心的你,发现Levels: 1 2 3保存的是去重的元素,相当于python里面的集合,为什么会这样,或者说这样有什么好处,最大的好处就是节约存储空间,还有就是当数据很多且有很多重复的时候,你可以很直观的看到他真实的数据!

注意,我前面说了,factor的levels只是看不重复的的值,所以这些下该明白了吧。因为V里面不重复的就3个。

然后就会用我们实际需要的levels来一个一个替换,在实践中也是有这种需求的。

labels也可以实现,类比levels即可。传入的依然是c()向量。