【发布时间】:2015-06-25 17:53:29
【问题描述】:
我想按非零值的数量拆分数据框,比如我想删除所有超过 n 个零的列。我知道如何删除所有零和列:
df[, colSums(df) != 0]
但是对于零元素的任何阈值如何做到这一点?
【问题讨论】:
标签: r
我想按非零值的数量拆分数据框,比如我想删除所有超过 n 个零的列。我知道如何删除所有零和列:
df[, colSums(df) != 0]
但是对于零元素的任何阈值如何做到这一点?
【问题讨论】:
标签: r
我们需要创建一个逻辑矩阵,然后执行colSums
n <- 3
df[colSums(df==0) <= n]
set.seed(22)
df <- as.data.frame(matrix( sample(0:4, 5*20, replace=TRUE), ncol=5))
【讨论】:
df[, colSums(df) != 0] 以删除只有零的列,因此如果列是 c(0, 0, 1, 0, -1, 0) 则无法正常工作我只是说你的方式更好......
I want to remove all columns with more than n zeros 和代码是 OP 知道的关于做不同的事情。