【问题标题】:How to filter columns of a matrix whose IQR is below a specific value?如何过滤 IQR 低于特定值的矩阵列?
【发布时间】:2018-03-04 23:40:00
【问题描述】:

filter <- apply(expressionMatrix, 2, function (x) (colIQRs(x, na.rm = TRUE) < 1.6))

“参数 x 是数字类,应该是一个矩阵”错误被抛出。如何应对?我认为逻辑上这段代码是正确的:我删除了所有 IQR 值小于 1.6 的列。

如何在技术上编码?

【问题讨论】:

  • 请提供数据示例和理想的输出。

标签: r matrix numeric predicate iqr


【解决方案1】:

matrixStats 包中的 colIQRs 需要一个矩阵作为输入。但是通过将它包装在 apply 语句中,您一次只能给它一个列向量。解决方案是将整个矩阵发送到 colIQRs,然后对结果进行子集处理:

filter <- expressionMatrix[, colIQRs(expressionMatrix, na.rm = TRUE) < 1.6]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2020-01-19
    • 2015-04-26
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多