filter <- apply(expressionMatrix, 2, function (x) (colIQRs(x, na.rm = TRUE) < 1.6))
“参数x是类数字,应该是一个矩阵”错误被抛出。如何应对?我认为逻辑上这段代码是正确的:我删除了IQR值小于1.6的所有列。
如何在技术上编码?
来自包matrixStats
的colIQRs需要矩阵作为输入。但是通过将其包装在apply
语句中,您一次只能给它一个列向量。解决方案是将整个矩阵发送到colIQRs,然后将结果的子集:
filter <- expressionMatrix[, colIQRs(expressionMatrix, na.rm = TRUE) < 1.6]