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