2017-09-11 30 views
0
list_of_means<-parApply(cl,mydataframe,2,function(x) mean(x)) 

一些在我的數據框列的只有NA的或相同的值的副本(即1,1,1,1,1等)如何從R中刪除應用中的值?

什麼我需要添加到功能適用於跳過這些列的輸出?或者我必須先修改我的數據框?

回答

0

您可以添加一個條件就all(is.na(x))過濾:

list_of_means<-parApply(cl,mydataframe,2,function(x) { 
    if (! all(is.na(x))){ return(mean(x)) }}) 

如果所有元素都是來港,它會返回任何結果。

注意:如果您有NA,您應該考慮在mean函數中使用na.rm參數以獲取更多信息,請檢查? mean

+0

是否還有一種方法可以過濾掉所有零或所有數字的列? – George

+0

您可以使用'data.table :: uniqueN'或'length(unique(x))'來檢查您有多少個唯一值... –

+0

謝謝!這真的很有幫助! – George