如何识别R中所有列具有相同值的行号?

问题描述 投票:0回答:1

对于以下数据

> data
   x1 x2 x3
1   1  0  0
2   0  1  0
3   0  0  1
4   1  0  1
5   1  0  0
6   0  1  1
7   1  0  0
8   0  1  0
9   1  1  1
10  1  0  0

如何识别所有列中具有相同值的行。对于data,行号46分别对列1 & 32 & 3具有相同的值,行号9对于所有列均具有相同的值。如何在R中标识这些行号。任何帮助表示赞赏。

r duplicates rows
1个回答
0
投票

如果您的值只能为0或1,并且要在ALL列中查找具有相同值的行,则必须查找0或列的长度:

df <- data[c(rowSums(data) == 0,rowSums(data) == length(data)),]


0
投票

更通用的解决方案是使用@ zero33的答案here并执行

> apply(data, 1, function(row) length(unique(row)) == 1)
##     1     2     3     4     5     6     7     8     9    10 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 

您可以使用该布尔向量来标识哪些行在所有列中具有相同的值。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.