如何过滤IQR低于特定值的矩阵的列?

问题描述 投票:0回答:1

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

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

如何在技术上编码?

r matrix numeric predicate iqr
1个回答
1
投票

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

filter <- expressionMatrix[, colIQRs(expressionMatrix, na.rm = TRUE) < 1.6]
© www.soinside.com 2019 - 2024. All rights reserved.