果子学生信
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)