geom_smooth () quali sono i metodi disponibili?


92

Sto usando geom_smooth()da ggplot2.

Nel libro di Hadley Wickham ("ggplot2 - Elegant Graphics for Data Analysis") c'è un esempio (pagina 51), dove method="lm"viene usato. Nel manuale in linea non si parla methoddell'argomento. Vedo altri risultati di Google (e domande qui) di persone che utilizzano method='loess'.

C'è un elenco esaustivo da qualche parte che spiega le opzioni?

Da quello che posso vedere, 'lm'disegna una linea retta e 'loess'disegna una curva molto liscia. Presumo che ce ne siano altri che disegnano più di una linea frastagliata tra i punti di riferimento?

Anche l' seargomento dell'esempio non è nella guida o nella documentazione in linea.

FWIW ecco il mio codice.

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)


2
Le domande e le risposte sono obsolete. La documentazione attuale elenca gli argomenti: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-glx

Il collegamento di @ StéphaneLaurent è stato spostato (dato che ha più di 5 anni ora): stats.idre.ucla.edu/r/faq/…
MokeEire

Risposte:


38

A volte è fare la domanda che fa saltare fuori la risposta. I metodi e gli argomenti extra sono elencati nella pagina wiki stat_smooth di ggplot2 .

A cui si allude nella geom_smooth()pagina con:

"Vedi stat_smooth per esempi di utilizzo dell'adattamento del modello integrato se hai bisogno di un po 'più flessibile, questo esempio ti mostra come tracciare gli adattamenti da qualsiasi modello di tua scelta".

Non è la prima volta che vedo argomenti negli esempi per i grafici ggplot che non sono specificatamente nella funzione. Rende difficile definire l'ambito di ciascuna funzione, o forse devo ancora imbattermi in un elenco esplicito magico che dice cosa funzionerà e cosa non funzionerà all'interno di ciascuna funzione.


4
sì, la documentazione è un po 'confusa. Non mi piace come Springer addebiti più di 40 dollari per il libro di Hadley, che contiene le informazioni mancanti dal sito web.
wespiser A

@wespiserA in che senso mancano le informazioni dal sito web (o dalla guida del pacchetto)? nzcoops stava cercando nel posto sbagliato. Questo non vuol dire che l'aiuto per geom_smooth()non possa essere migliorato, diciamo facendo esplicita menzione methode da vedere stat_smooth()- al momento questo accade solo in un commento negli esempi - e una gentile e-mail a Hadley, ne sono certo, funzionerebbe meraviglie. Scrivere la documentazione è difficile, specialmente quando sei così vicino al codice; come sviluppatore, non sei più un utente e avrai difficoltà a scrivere documentazione per gli utenti.
Gavin Simpson

1
@nzcoops il motivo per cui non è documentato come argomento geom_smooth()è che quella funzione non ha o accetta quell'argomento. Il codice geom serve per produrre oggetti che, una volta stampati, fanno il disegno. La convenzione in ggplot è di avere stat_foo()funzioni, anche al punto da avere stat_identity()quando non si vuole calcolare nulla. Detto questo, Hadley accoglie con favore commenti / critiche sul suo codice / pacchetti, quindi mandalo via e-mail e suggerisci collegamenti di profilo più alto tra la geom_documentazione e i loro associatistat_
Gavin Simpson

2
@ Gavin, sì, ho inviato un'email a Hadley alcune volte in passato, pensando che la domanda fosse ancora preziosa qui, dato che non ho dubbi che altri la useranno su Google ad un certo punto. Il tuo commento su "non ha o accetta questo argomento" non è tuttavia corretto. Lo fa. Potrebbe anche passarlo a stat_smooth () ma lo "prende" come mostrano gli esempi. Inoltre non volevo infastidire Hadley su qualcosa che sapevo che qualcuno avrebbe potuto rispondere rapidamente, anche se io stesso: /
nzcoops

23

L'argomento del metodo specifica il parametro della statistica uniforme. Puoi vedere stat_smoothl'elenco di tutti i possibili argomenti per l'argomento del metodo.


Risposta sfacciata cambia @wespiser: P lo lascerò passare;)
nzcoops

sì, hai colto il mio bluff la prima volta. Dopo di che ho deciso di fare un po 'di ricerca e ho scoperto cosa stava succedendo!
wespiser A

1

Anche l'argomento se dell'esempio non è nella guida o nella documentazione in linea.

Quando "se" in geom_smooth è impostato su "FALSE", la regione di ombreggiatura dell'errore non è visibile

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.