参考另一篇文章#Filtering out multiple columns in R ; 那里要求过滤掉全为 0 的列(列中的所有值都是 0)。使用以下代码:
f0 <- function(x) any(x!=0) & is.numeric(x)
trainingdata <- lapply(trainingdata, function(data) cbind(label=data$label,
colwise(identity, f0)(data)))
可以过滤掉仅包含 0 的列。还需要过滤掉仅包含 1 的列(我的意思是列中的所有值都是 1)。我尝试了以下方法:
f0 <- function(x) all(x==1) | any(x!=0) & is.numeric(x)
或者
f0 <- function(x) all(x!=1) | any(x!=0) & is.numeric(x)
但它不工作。