R 删除重复数据

R 删除重复数据的方法,包括duplicated 和unique 针对duplicated, 对向量的元素或数据框的行进行操作的时候,返回逻辑值,以下面的数据框为例:  dat   A B C D1  a b a c2  c k b d3  c k c c4...

R 删除重复数据的方法,包括duplicated 和unique

针对duplicated, 对向量的元素或数据框的行进行操作的时候,返回逻辑值,以下面的数据框为例:

 dat
   A B C D
1  a b a c
2  c k b d
3  c k c c
4  d e q k
5  e f g l
6  h g h q
7  j f q k
8  a b a c
9  e f g l
10 o o l m
 duplicated(dat)
 [1FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE

dat是一个十行的数据框,其中第8行和第1行重复,第9行和第5行的数据重复,所以,返回值的第8和第9是TRUE,因此,可以按照如下操作,排除为TRUE,也就是重复的数据,只取数据第一次出现的结果。

  dat[!duplicated(dat),]
   A B C D
1  a b a c
2  c k b d
3  c k c c
4  d e q k
5  e f g l
6  h g h q
7  j f q k
10 o o l m

duplicated可以针对具体区域进行重复数据的判断,例如:

  dat[!duplicated(dat[,c("A","B")]),]
   A B C D
1  a b a c
2  c k b d
4  d e q k
5  e f g l
6  h g h q
7  j f q k
10 o o l m

  dat[!duplicated(dat[1:8,]),]
   A B C D
1  a b a c
2  c k b d
3  c k c c
4  d e q k
5  e f g l
6  h g h q
7  j f q k
9  e f g l
10 o o l m

 dat[!duplicated(dat[1:8,c("A","B")]),]
   A B C D
1  a b a c
2  c k b d
4  d e q k
5  e f g l
6  h g h q
7  j f q k
9  e f g l
10 o o l m

unique 针对向量和着数据框进行处理,会直接将删除重复后的结果进行返回,返回结果取首次出现结果:

 unique(dat)
   A B C D
1  a b a c
2  c k b d
3  c k c c
4  d e q k
5  e f g l
6  h g h q
7  j f q k
10 o o l m

两种处理结果,原行名都未发生变化。

  • 发表于 2018-06-27 22:00
  • 阅读 ( 4085 )
  • 分类:R

你可能感兴趣的文章

0 条评论

请先 登录 后评论
Daitoue
Daitoue

167 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 351 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章