【R去重】 保留第一个重复去所有的重复

Python010

【R去重】 保留第一个重复去所有的重复,第1张

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)

读入数据的时候遇到行名有重复而报错的情况,如下图

mydata<-read.table("data_RNA_Seq_v2_mRNA_median_ Zscores.txt", header = T, row.names=1, check.names = F)

报错:Error in read.table("data_RNA_Seq_v2_mRNA_median _Zscores.txt", header = T,  :   'row.names'里不能有重复的名字

此时可以使用base包中的make.names()函数

使用方法:

1.先不设置行名将数据读进去

mydata<-read.table("data_RNA_Seq_v2_mRNA_median_ Zscores.txt", header = T, check.names = F)

2.使用make.names函数将第一列作为行名

row.names(mydata<-make.names(mydata[,1],TRUE)

关于make.names函数的使用方法可以通过?make.names获得

3. 删除第一列

mydata<-mydata[,-1]

4.查看数据前五行前五列看是否行名修改完成

mydata[1:5,1:5]

那你就先把所有的字符串都变成小写,再用duplicated比较就好了

x<-c("Anne","anne","bkk")

y<-tolower(x)

duplicated(y)