2017-07-27 3 views
2

Ich versuche zu verstehen, wie geom_bar von ggplot2 NA behandelt. Die Hilfe-Datei sagt:na.rm = T Behandlung von ggplot2's geom_bar

library(ggplot2) 
?geom_bar 

na.rm: Wenn FALSCH, die Standardeinstellung werden fehlende Werte mit einer Warnung entfernt. Wenn TRUE, werden fehlende Werte automatisch gelöscht.

ich es versuche aus:

md <- data.frame(a = c(letters[1:5], letters[1:4], letters[1:3], rep(NA, 3))) 
str(md); levels(md$a) 

ggplot(data = md, mapping = aes(x = a)) + 
    geom_bar(na.rm = F) 

Es ohne Warnungen läuft und erzeugt zählt für jeden Faktor Ebene als auch die nationalen Agenturen. Macht Sinn.

Nun möchte ich nicht die NAs gezählt werden. So laufe ich:

ggplot(data = md, mapping = aes(x = a)) + 
    geom_bar(na.rm = T) 

Aber ich habe immer noch NAs auf dem Bild. Warum? Was fehlt mir?

Vielen Dank!

+0

Zur Klarstellung: Meine Frage geht nicht darum, "wer könnte ich ausschließen, dass NAs gezählt werden" - ich weiß, wie man das macht. Meine Frage ist: Warum na.rm = T funktioniert in diesem Fall nicht für geom_bar? – user3245256

Antwort

-1

Es ist ein Fehler, Dosen nicht entfernen das Zeichen Gehäuse. Es ist diskutiert here.