繁体   English   中英

R:删除所有列中相同的行

[英]R: remove rows with same in all columns

输入文件:

y <- read.table(textConnection('
   c1   c2   c3
1  a    b    -1
2  a    b    -1
3  a    c    1
4  a    b    1
5  a    b    -1
'), header=TRUE)

因此,y 是

  c1 c2 c3
1  a  b -1
2  a  b -1
3  a  c  1
4  a  b  1
5  a  b  -1

output 文件将是:

  c1 c2 c3
1  a  b -1
3  a  c  1
4  a  b  1

如何删除所有列中具有相同条目的多个或重复行?

尝试unique(y)

> unique(y)
  c1 c2 c3
1  a  b -1
3  a  c  1
4  a  b  1

?独特的。 不过要注意浮点变量...

除了unique()之外, duplicated()还有助于识别哪些行是重复的。

例如:

subset(y, !duplicated(y))

但正如 Chase 和 Nick 所展示的, unique()是您要在这里寻找的,而且效率更高。

您还可以使用 dplyr package 中的 distinct()

> library(dplyr, quietly = T)
> distinct(y)
  c1 c2 c3
1  a  b -1
2  a  c  1
3  a  b  1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM