geom_smooth () Welche Methoden stehen zur Verfügung?

92

Ich benutze geom_smooth() von ggplot2.

In Hadley Wickhams Buch ("ggplot2 - Elegante Grafiken für die Datenanalyse") gibt es ein Beispiel (Seite 51), in dem method="lm"verwendet wird. Im Online-Handbuch ist nicht davon die Redemethod Argument gesprochen. Ich sehe andere Google-Ergebnisse (und Fragen hier) von Nutzern method='loess'.

Gibt es irgendwo eine vollständige Liste, die die Optionen erklärt?

Soweit ich sehen kann, 'lm'zeichnet eine gerade Linie und'loess' zeichnet eine sehr glatte Kurve. Ich nehme an, es gibt andere, die eher eine gezackte Linie zwischen Referenzpunkten ziehen.

Das se Argument aus dem Beispiel ist auch nicht in der Hilfe oder Online-Dokumentation enthalten.

FWIW hier ist mein Code.

p <- ggplot(output8, aes(age, myoutcome, group=id, colour=year_diag_cat2)) +
  geom_line() + scale_y_continuous(limits = c(lwr,upr))
p + geom_smooth(aes(group=year_diag_cat2), method="loess", size=2, se=F)
nzcoops
quelle
2
Fragen und Antworten sind veraltet. Aktuelle Dokumentation listet Argumente auf: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-glx
@ StéphaneLaurent's Link wurde verschoben ( vorausgesetzt
MokeEire

Antworten:

38

Manchmal ist es die Frage, die die Antwort herausspringen lässt. Die Methoden und zusätzlichen Argumente sind auf der Seite ggplot2 wiki stat_smooth aufgeführt .

Worauf auf der geom_smooth()Seite angespielt wird mit:

"In stat_smooth finden Sie Beispiele für die Verwendung der integrierten Modellanpassung, wenn Sie etwas flexibleres benötigen. Dieses Beispiel zeigt Ihnen, wie Sie die Anpassungen aus einem beliebigen Modell Ihrer Wahl zeichnen."

Es ist nicht das erste Mal, dass ich Argumente in Beispielen für ggplot-Diagramme sehe, die nicht speziell in der Funktion enthalten sind. Es macht es schwierig, den Umfang jeder Funktion zu erarbeiten, oder vielleicht bin ich noch nicht auf eine magische explizite Liste gestoßen, die besagt, was in jeder Funktion funktionieren wird und was nicht.

nzcoops
quelle
4
Ja, die Dokumentation ist ein bisschen chaotisch. Mir gefällt nicht, wie Springer über 40 Dollar für Hadleys Buch berechnet, das die Informationen enthält, die auf der Website fehlen.
wespiserA
@wespiserA In welchem ​​Sinne fehlen die Informationen auf der Website (oder in der Pakethilfe)? nzcoops suchte am falschen Ort. Das heißt nicht, dass die Hilfe für geom_smooth()nicht verbessert werden könnte, beispielsweise durch explizite Erwähnung methodund zu sehen stat_smooth()- im Moment geschieht dies nur in einem Kommentar in den Beispielen - und eine höfliche E-Mail an Hadley würde sicher funktionieren Wunder. Das Schreiben von Dokumentationen ist schwierig, insbesondere wenn Sie dem Code so nahe sind. Als Entwickler sind Sie kein Benutzer mehr und es fällt Ihnen schwer, Dokumentation für Benutzer zu schreiben.
Gavin Simpson
1
@nzcoops Der Grund, warum es nicht als Argument dokumentiert geom_smooth()ist, ist, dass diese Funktion dieses Argument nicht hat oder akzeptiert . Der Geom-Code dient zum Erstellen von Objekten, die beim Drucken die Zeichnung ausführen. Die Konvention in ggplot besteht darin, stat_foo()Funktionen zu haben , selbst in dem Maße, stat_identity()in dem Sie nichts berechnen möchten. Trotzdem begrüßt Hadley Kommentare / Kritik zu seinem Code / seinen Paketen. Schreiben Sie ihn also per E-Mail und schlagen Sie Links mit höherem Profil zwischen der geom_Dokumentation und den dazugehörigen Dokumenten vorstat_
Gavin Simpson,
2
@ Gavin, yup Ich habe Hadley in der Vergangenheit ein paar Mal eine E-Mail geschickt und dachte, die Frage sei hier immer noch wertvoll, da ich keinen Zweifel habe, dass andere sie irgendwann googeln werden. Ihr Kommentar zu "hat oder nimmt dieses Argument nicht" ist jedoch falsch. Es tut. Es kann gut an stat_smooth () übergeben werden, aber es "nimmt" es, wie die Beispiele zeigen. Ich wollte Hadley auch nicht wegen etwas
nerven
23

Das Argument method gibt den Parameter der glatten Statistik an. Sie können stat_smoothfür die Liste aller möglichen Argumente zum Methodenargument sehen.

wespiserA
quelle
Freche Antwortänderung @wespiser: P Ich lasse es passieren;)
nzcoops
Ja, du hast meinen Bluff beim ersten Mal erwischt. Danach habe ich mich entschlossen, ein bisschen zu recherchieren und herauszufinden, was los ist!
wespiserA
1

Das Argument se aus dem Beispiel ist auch nicht in der Hilfe oder Online-Dokumentation enthalten.

Wenn 'se' in geom_smooth auf 'FALSE' gesetzt ist, ist der Fehlerschattierungsbereich nicht sichtbar

RAMYA HARIHARAN
quelle