对于以下数据
> 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
,行号4
和6
分别对列1 & 3
和2 & 3
具有相同的值,行号9
对于所有列均具有相同的值。如何在R中标识这些行号。任何帮助表示赞赏。
如果您的值只能为0或1,并且要在ALL列中查找具有相同值的行,则必须查找0或列的长度:
df <- data[c(rowSums(data) == 0,rowSums(data) == length(data)),]
更通用的解决方案是使用@ 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
您可以使用该布尔向量来标识哪些行在所有列中具有相同的值。