R中去除某列中重复的值

在R中,如果要将data.frame的某一列转化为行名,则不能有重复,否则会报错,简单的办法就是对要操作的列进行去重,比如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 现在,data是data.frame,35976行
> dim(data)
[1] 35976 39
> head(data$X)
[1] Adora1 Sntg1 Adgrb3 Prim2 Cflar Obsl1
35974 Levels: 0610005C13Rik 0610006L08Rik 0610007P14Rik ... Zzz3
# 要操作的列有35976行,但是Levels=35974,说明有两行有重复,看一下重复的两行
> x <- duplicated(data$X)
> data[x,]$X
[1] 43891 43892
35974 Levels: 0610005C13Rik 0610006L08Rik 0610007P14Rik ... Zzz3
# data$X这一列中,重复的值是43891和43892,下面去掉重复的值
> data2 <- data[!duplicated(data$X),]
# 去掉重复的行后,剩下35974行
> head(data2$X)
[1] Adora1 Sntg1 Adgrb3 Prim2 Cflar Obsl1
35974 Levels: 0610005C13Rik 0610006L08Rik 0610007P14Rik ... Zzz3
> dim(data2)
[1] 35974 39
  • 本文作者:括囊无誉
  • 本文链接: R/duplicate/
  • 版权声明: 本博客所有文章均为原创作品,转载请注明出处!
------ 本文结束 ------
坚持原创文章分享,您的支持将鼓励我继续创作!