geom_smooth () jakie są dostępne metody?

93

Używam geom_smooth()od ggplot2.

W książce Hadleya Wickhama („ggplot2 - Elegancka grafika do analizy danych”) znajduje się przykład (strona 51), gdzie method="lm"jest używany. W podręczniku online nie ma mowy o methodargumentacji. Widzę inne wyniki Google (i pytania tutaj) osób używających method='loess'.

Czy jest gdzieś wyczerpująca lista wyjaśniająca opcje?

Z tego, co widzę, 'lm'rysuje prostą linię i 'loess'rysuje bardzo gładką krzywą. Zakładam, że są inne, które rysują bardziej postrzępioną linię między punktami odniesienia?

seArgument przykładzie nie jest również w pomocy lub dokumentacji online.

FWIW to mój kod.

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
źródło
2
Pytania i odpowiedzi są nieaktualne. Bieżąca dokumentacja zawiera listę argumentów: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-glx
Link @ StéphaneLaurent został przeniesiony (biorąc pod uwagę, że ma teraz ponad
MokeEire

Odpowiedzi:

38

Czasami to pytanie sprawia, że ​​odpowiedź wyskakuje. Metody i dodatkowe argumenty są wymienione na stronie ggplot2 wiki stat_smooth .

Do którego nawiązuje na geom_smooth()stronie:

„Zobacz stat_smooth, aby zobaczyć przykłady użycia wbudowanego dopasowania modelu, jeśli potrzebujesz czegoś bardziej elastycznego, ten przykład pokazuje, jak wykreślić pasowania z dowolnego wybranego modelu”.

To nie pierwszy raz, kiedy widziałem argumenty w przykładach dla wykresów ggplot, których nie ma konkretnie w funkcji. To sprawia, że ​​trudno jest określić zakres każdej funkcji, a może jeszcze nie natknąłem się na magiczną listę, która mówi, co będzie, a co nie będzie działać w ramach każdej funkcji.

nzcoops
źródło
4
tak, w dokumentacji jest trochę bałaganu. Nie podoba mi się, jak Springer pobiera ponad 40 dolców za książkę Hadleya, która zawiera informacje, których brakuje na stronie internetowej.
wespiserA
@wespiserA w jakim sensie brakuje informacji na stronie (lub w pomocy pakietu)? nzcoops szukał w złym miejscu. Nie oznacza to, że pomocy geom_smooth()nie można poprawić, powiedzmy przez wyraźne wspomnienie methodi zobaczenie stat_smooth()- w tej chwili dzieje się to tylko w komentarzu w przykładach - a uprzejmy e-mail do Hadley zadziała cuda. Pisanie dokumentacji jest trudne, zwłaszcza gdy jesteś tak blisko kodu; jako programista nie jesteś już użytkownikiem i trudno będzie Ci pisać dokumentację dla użytkowników.
Gavin Simpson
1
@nzcoops powodem, dla którego nie jest udokumentowana jako argument, geom_smooth()jest to, że ta funkcja nie ma lub nie przyjmuje tego argumentu. Kod geom służy do tworzenia obiektów, które po wydrukowaniu rysują. Konwencją w ggplot jest posiadanie stat_foo()funkcji, nawet w takim stopniu, w jakim stat_identity()nie chcesz niczego obliczać. Powiedział, że Hadley wita komentarz / krytykę jego kodu / pakiety tak upuścić go i e-mail i sugerują wyższy profil linków między geom_dokumentacją i związane z nimistat_
Gavin Simpson
2
@Gavin, tak, w przeszłości kilka razy wysyłałem e-mail do Hadley, myśląc, że to pytanie jest nadal cenne, biorąc pod uwagę, że nie mam wątpliwości, że inni będą go kiedyś szukać w Google. Twój komentarz na temat „nie ma lub nie przyjmuje tego argumentu” jest jednak niepoprawny. To robi. Może przekazać go do stat_smooth (), ale „bierze” go, jak pokazują przykłady. Nie chciałem też
niepokoić
23

Argument metody określa parametr statystyki gładkiej. Możesz zobaczyć stat_smoothlistę wszystkich możliwych argumentów argumentu metody.

wespiserA
źródło
Bezczelna odpowiedź change @wespiser: P I'll let it pass;)
nzcoops
tak, złapałeś mój blef za pierwszym razem. Potem zdecydowałem się trochę poszukać i dowiedzieć się, co się dzieje!
wespiserA
1

Ten argument z przykładu również nie znajduje się w pomocy ani w dokumentacji online.

Gdy „se” w geom_smooth ma wartość „FALSE”, obszar cieniowania błędu nie jest widoczny

RAMYA HARIHARAN
źródło