geom_smooth () quelles sont les méthodes disponibles?

92

J'utilise geom_smooth()de ggplot2.

Dans le livre de Hadley Wickham ("ggplot2 - Elegant Graphics for Data Analysis"), il y a un exemple (page 51), où method="lm"est utilisé. Dans le manuel en ligne, il n'est pas question de l' methodargument. Je vois d'autres résultats Google (et des questions ici) de personnes utilisant method='loess'.

Y a-t-il une liste exhaustive quelque part qui explique les options?

De ce que je peux voir, 'lm'trace une ligne droite et 'loess'trace une courbe très lisse. Je suppose qu'il y en a d'autres qui dessinent davantage une ligne dentelée entre les points de référence?

L' seargument de l'exemple n'est pas non plus dans l'aide ou la documentation en ligne.

FWIW voici mon 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
la source
2
Les questions et réponses sont obsolètes. La documentation actuelle répertorie les arguments: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-
Le lien de @ StéphaneLaurent a été déplacé (étant donné qu'il a plus de 5 ans maintenant): stats.idre.ucla.edu/r/faq/…
MokeEire

Réponses:

38

Parfois, c'est poser la question qui fait sauter la réponse. Les méthodes et arguments supplémentaires sont listés sur la page stat_smooth du wiki ggplot2 .

Ce qui est évoqué sur la geom_smooth()page avec:

"Voir stat_smooth pour des exemples d'utilisation de l'ajustement de modèle intégré si vous avez besoin d'un peu plus de flexibilité, cet exemple vous montre comment tracer les ajustements à partir de n'importe quel modèle de votre choix".

Ce n'est pas la première fois que je vois des arguments dans des exemples de graphes ggplot qui ne sont pas spécifiquement dans la fonction. Cela rend difficile de déterminer la portée de chaque fonction, ou peut-être que je ne suis pas encore tombé sur une liste explicite magique qui dit ce qui fonctionnera et ne fonctionnera pas dans chaque fonction.

nzcoops
la source
4
ouais, la documentation est un peu en désordre. Je n'aime pas comment Springer facture plus de 40 dollars pour le livre d'Hadley, qui contient les informations manquantes sur le site Web.
wespiserA
@wespiserA dans quel sens les informations sont-elles absentes du site Web (ou de l'aide du package)? nzcoops cherchait au mauvais endroit. Cela ne veut pas dire que l'aide pour geom_smooth()ne pourrait pas être améliorée, par exemple en faisant une mention explicite methodet à voir stat_smooth()- pour le moment cela ne se produit que dans un commentaire dans les exemples - et un e-mail poli à Hadley fonctionnerait, j'en suis sûr merveilles. L'écriture de la documentation est difficile, surtout lorsque vous êtes si proche du code; en tant que développeur, vous n'êtes plus un utilisateur et vous aurez du mal à rédiger de la documentation pour les utilisateurs.
Gavin Simpson
1
@nzcoops la raison pour laquelle il n'est pas documenté comme argument geom_smooth()est que cette fonction n'a pas ou ne prend pas cet argument. Le code geom sert à produire des objets qui, une fois imprimés, font le dessin. La convention dans ggplot est d'avoir des stat_foo()fonctions, même dans la mesure stat_identity()où vous ne voulez rien calculer. Cela dit, Hadley accueille les commentaires / critiques de son code / packages, alors laissez-le tomber et envoyez-lui un e-mail et suggérez des liens plus importants entre la geom_documentation et leurs associésstat_
Gavin Simpson
2
@Gavin, oui, j'ai envoyé un e-mail à Hadley plusieurs fois dans le passé, je pensais que la question était encore valable ici étant donné que je ne doute pas que d'autres la rechercheront sur Google à un moment donné. Votre commentaire sur «ne possède pas ou n'accepte pas cet argument» est cependant incorrect. Cela fait. Il peut très bien le passer à stat_smooth () mais il le «prend» comme le montrent les exemples. Je ne voulais pas non plus déranger Hadley pour quelque chose dont je savais que quelqu'un pourrait répondre rapidement, quoique moi-même: /
nzcoops
23

L'argument de méthode spécifie le paramètre de la statistique lisse. Vous pouvez voir stat_smoothla liste de tous les arguments possibles de l'argument de méthode.

wespiserA
la source
Changement de réponse effronté @wespiser: P Je vais le laisser passer;)
nzcoops
oui, vous avez attrapé mon bluff la première fois. Après cela, j'ai décidé de faire un peu de recherche et de découvrir ce qui se passait!
wespiserA
1

L'argument se de l'exemple n'est pas non plus dans l'aide ou la documentation en ligne.

Lorsque 'se' dans geom_smooth est défini sur 'FALSE', la zone d'ombrage d'erreur n'est pas visible

RAMYA HARIHARAN
la source