【问题标题】:find columns meeting a condition in r在 r 中查找满足条件的列
【发布时间】:2018-03-25 17:23:21
【问题描述】:

我正在尝试获取满足特定条件的唯一列名。例如,对于这个矩阵M,我试图获得小于 5 的唯一列。从矩阵中,我想要的结果是第一行的向量 (a,b,c) - ab 来自第二行,b 来自第三行 c 来自第五行。

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]

【问题讨论】:

  • colnames(M)[colSums(M < 5) > 0]

标签: r matrix apply sapply


【解决方案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"

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 2023-01-04
    • 2020-06-19
    • 2019-01-22
    • 2021-02-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    相关资源
    最近更新 更多