R 矩阵:如何根据所有列的总和进行子集化?
R matrix: How can I subset based on the sum across all columns?
我有一个非常大的矩阵,超过 30,000 个元素。我想删除所有列中值为 0 的所有行。看了很多帖子,觉得standard deviation=0或者sum of the rows=0这些参数比较合适drop。我似乎无法找出一个有效的 R 代码来做到这一点。子集命令很有意义...我将不胜感激任何帮助或建议。
另一种可能有效的方法:
I 运行 as.logical(rowSums(matrix !=0))
到 return 所有具有不为 0 的值的行,这有效。我可以添加另一行来创建一个新矩阵,其中只有 returned TRUE
?
的行
我们可以在逻辑矩阵上使用 rowSums
,创建逻辑 vector
并对 matrix
的行进行子集化
m2 <- m1[!!rowSums(m1 != 0),]
数据
m1 <- rbind(0, c(1, 3, 2), c(0, 1,2), c(4, 5, 2))
我有一个非常大的矩阵,超过 30,000 个元素。我想删除所有列中值为 0 的所有行。看了很多帖子,觉得standard deviation=0或者sum of the rows=0这些参数比较合适drop。我似乎无法找出一个有效的 R 代码来做到这一点。子集命令很有意义...我将不胜感激任何帮助或建议。
另一种可能有效的方法:
I 运行 as.logical(rowSums(matrix !=0))
到 return 所有具有不为 0 的值的行,这有效。我可以添加另一行来创建一个新矩阵,其中只有 returned TRUE
?
我们可以在逻辑矩阵上使用 rowSums
,创建逻辑 vector
并对 matrix
m2 <- m1[!!rowSums(m1 != 0),]
数据
m1 <- rbind(0, c(1, 3, 2), c(0, 1,2), c(4, 5, 2))