r - 从矩阵中删除所有带有0的列

标签 r

我有一个15000列的矩阵。一些单元格具有float值,而许多单元格具有0。我想完全删除所有值均为0的所有列。

     col1     col2     col3     col4
row1  1        0        0        1
row2  3.4      0        0        2.4
row3  0.56     0        0        0
row4  0        0        0        0


我想删除列col2col3并保留其余部分。
我如何用R做到这一点?
谢谢

最佳答案

如何使用applyall

M <- as.matrix(data.frame(a=runif(10),b=rep(0,10),c=runif(10),d=rep(0,10)))

M[,which(!apply(M,2,FUN = function(x){all(x == 0)}))]

关于r - 从矩阵中删除所有带有0的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632018/

相关文章:

r - 如何在R中的循环中分配变量名称

r - 用 NA 值绘制置信区间

r - 一个(命名的)函数可以反省调用它的名称吗?

r - 有没有办法将 "author"元数据添加到从 R 创建的 pdf 中

r - data.table 列子集返回 0 行

r - 如何解决引导回归中的 "number of items to replace is not a multiple of replacement length"错误?

r - 在 R 中增强有界拉丁超立方体

r - 在contour() 中没有指定正确的 'z' 矩阵

r - 字符串分解

r - 使用模糊逻辑连接两个数据集