我有一个具有命名行(“a”和“b”)和命名列(“10”,“20”,“30”,“40”)的逻辑矩阵x
。可以这样说:
10 20 30 40
a T F T F
b F T F T
structure(c(TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
.Dim = c(2L, 4L), .Dimnames = list(c("a", "b"), c("10", "20", "30", "40")))
有没有一种简短的方法来获得一个表,该表将列出具有真实值的行和列的名称?也就是说,我要获得下表:
a 10, 30
b 20, 40
可以通过
which(x, arr.ind = T)
获得类似的结果,它产生 row col
a 1 1
b 2 2
a 1 3
b 2 4
但是我真的很想得到第一张 table 。
最佳答案
您可以直接使用apply
。
apply(
x, 1,
function(u) paste( names(which(u)), collapse="," )
)
关于R:如何获取矩阵真元素的行名和列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9505849/