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

Certaines des colonnes de mon dataframe n'ont NA ou de copies de la même valeur (c.-à-1,1,1,1,1, etc.)Comment supprimer des valeurs d'application dans R?

Que dois-je ajouter à la fonction appliquer pour ignorer la sortie de ces colonnes? Ou dois-je d'abord modifier mon dataframe?

Répondre

0

Vous pouvez ajouter une condition pour filtrer all(is.na(x)):

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

Si tous les éléments sont NAs, il retournera rien. NB: si vous avez des NA, vous devriez envisager d'utiliser l'argument na.rm dans la fonction mean pour plus d'informations, veuillez vérifier ? mean.

+0

Y a-t-il aussi un moyen de filtrer les colonnes qui sont toutes des zéro ou toutes d'un nombre? – George

+0

Vous pouvez utiliser 'data.table :: uniqueN' ou' length (unique (x)) 'pour vérifier combien de valeurs uniques vous avez ... –

+0

Merci! Cela a été vraiment utile! – George