2013-03-28 7 views
3

Je souhaite exclure toutes les valeurs nulles d'un histogramme. Jusqu'à présent, je créais un nouvel objet et transformais toutes les valeurs nulles en NA, mais j'espérais qu'il y aurait un moyen plus simple sans créer de nouveaux objets.Tracer un histogramme sans valeurs nulles dans R

code Exemple:

set.seed(45) 
a<-sample(0:10,500,replace=T) 
c<-ifelse(a!=0,a,NA) 
hist(c) 

Répondre

5

Vous pouvez simplement utiliser subsetting comme ceci:

hist(a[ !a==0 ]) 

Vous pouvez vérifier cela fonctionne comme ceci:

table(is.na(c)) 
FALSE TRUE 
443 57 

length(a[!a==0]) 
[1] 443 
+0

curiosité: pourquoi '! a == 0' et non 'a! = 0'? – plannapus

+0

@plannapus pour aucune raison vraiment. Y a-t-il une différence * sous le capot *? Je suis curieux maintenant. –

+0

thx pour l'indice! – Joschi

Questions connexes