0
参考另一篇文章#Filtering out multiple columns in R;在那里它被要求过滤所有0的列(列中的所有值都是0)。使用以下代码:过滤掉R中的列
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)
OR
f0 <- function(x) all(x!=1) | any(x!=0) & is.numeric(x)
,但它不工作。
你的第二个函数使用逻辑“AND”而不是“OR”和检查“any(x!= 1)”应该可以工作。但是,我会将这些作为两个独立的函数编写,并且为了清晰起见,每个函数都会独立进行检查 – Justin 2013-03-05 17:07:46
@Justin。谢谢。完美工作。 – Shahzad 2013-03-05 17:14:01