2017-06-26 7 views
1

Ich versuche, ein Histogramm der Werte in einer Spalte eines Datenrahmens zu plotten. Ich versuche, die Bin oder Binwidth Args einzustellen, aber ohne Erfolg. R beim Erstellen der Handlung sagt: "Ignoriere unbekannte Parameter: binwidth, bins, pad".Warum ignoriert R binwidth, bins in ggplot geom_histogram?

ggplot(data=subset(flights, Distance < quantile(flights$Distance, 0.75)))+ geom_histogram(aes(x=Distance), stat='count', binwidth=100)

Die Variable ist ein Vektor von ganzen Zahlen, Abstände für Flüge werden aufgetragen.

Ich habe versucht, den Datentyp zu numerisch von Integer zu ändern.

flights$Distance <- as.numeric(as.character(flights$Distance))

Ich versuchte es auf eine kleinere Probe und die gleiche Meldung.

df <- data.frame(Distance=c(2,3,4,5,3,2,4,5,6,7,5,4,9,8,7,6,5,4,3,4,5,6,5))

ggplot(data=df)+ geom_histogram(aes(x=Distance), stat='count', binwidth=2)

Warum ggplot die beiden möglichen bin Argumente zu ignorieren?

+1

Entfernen Sie einfach 'stat = 'count'' aus dem Aufruf von' geom_histogram'. 'geom_histogram' verwendet standardmäßig 'stat =" bin "' und das ist die Statistik, die für ein Histogramm gewünscht wird. – eipi10

Antwort

1

Vielleicht wird this hilfreich sein:

die Verteilung einer einzigen kontinuierlichen variablen Visualisieren von die x-Achse in Bins und Zählen der Anzahl der Beobachtungen in jedem Behälter geteilt wird. Histogramme (geom_histogram) zeigen die Anzahl mit Balken an; Häufigkeit Polygone (geom_freqpoly), zeigen Sie die Zählungen mit Linien. Frequenzpolygone sind besser geeignet, wenn Sie die -Verteilung über die Ebenen einer kategorialen Variablen hinweg vergleichen möchten. stat_bin ist nur für kontinuierliche x Daten geeignet. Wenn Ihre x-Daten diskret sind, möchten Sie wahrscheinlich stat_count verwenden, .

ggplot()+ 
    geom_histogram(data = df, aes(x=Distance), binwidth = 3) + 
       stat_count() 
+2

'stat_count()' ist hier überflüssig, wenn Sie ein Histogramm wollen. (Obwohl 'stat_count' bei Integer-Daten das Äquivalent eines Histogramms mit binwidth = 1 ergibt.) Wenn Sie' 'fill =" red "' zu 'geom_histogram' hinzufügen, sehen Sie, dass' stat_count() 'setzt ein Balkendiagramm über das Histogramm. Sie können es nur nicht sehen, weil 'geom_histogram' und' stat_count' die gleiche Standard-Füllfarbe verwenden. – eipi10

+0

Interessant. Ist es möglich zu sehen, wie 'stat_count()' ein Balkendiagramm "oben auf" des Histogramms setzt? Ich habe versucht, 'fill =" red "' zu setzen, habe aber nichts bemerkt. – AK88

+2

Ah, weil Sie die Daten und die Ästhetik in 'geom_histogram' anstatt in den Hauptggplot-Aufruf einfügen. So macht 'stat_count() 'absolut nichts, weil es nichts über den Datenrahmen oder die Ästhetik weiß. Entschuldigung, ich habe Ihren Code nicht sorgfältig genug untersucht. Wenn Sie den Datenrahmen und 'aes' im Hauptggplot-Aufruf platzieren, sehen Sie beide Gruppen von Balken. – eipi10

Verwandte Themen