我正在尝试获得满足特定条件的唯一列名称。例如,使用此矩阵(a,b,c)
,我试图获得小于5的唯一列。从矩阵中,我希望的结果是来自第一行的向量a
- b
来自第二行的b
,来自第五行的第三行c
的{{1}}。
set.seed(1234)
M = matrix(sample(20,20), ncol=4)
M
[,1] [,2] [,3] [,4]
[1,] 3 10 7 9
[2,] 12 1 5 17
[3,] 11 4 20 16
[4,] 18 8 15 19
[5,] 14 6 2 13
colnames(M) = letters[1:4]
答案 0 :(得分:1)
使用base-R
的一种可能性可以是
M[,colSums(M<5)>0]
# a b c
# [1,] 3 10 7
# [2,] 12 1 5
# [3,] 11 4 20
# [4,] 18 8 15
# [5,] 14 6 2
如果OP只想知道满足条件的列的名称,那么解决方案可以是:
colnames(M[,colSums(M<5)>0])
#[1] "a" "b" "c"