geom_smooth () какие методы доступны?


93

Я использую geom_smooth()от ggplot2.

В книге Хэдли Уикхема («ggplot2 - Elegant Graphics for Data Analysis») есть пример (стр. 51), где method="lm"используется. В онлайн-руководстве о methodспоре нет и речи . Я вижу другие результаты Google (и вопросы здесь) людей, использующих method='loess'.

Есть ли где-нибудь исчерпывающий список, объясняющий варианты?

Насколько я могу видеть, 'lm'рисует прямую линию и 'loess'рисует очень плавную кривую. Я полагаю, есть другие, которые проводят более зубчатую линию между контрольными точками?

seАргумент из примера также не в помощи или интерактивной документации.

FWIW вот мой код.

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
Вопрос и ответы устарели. В текущей документации перечислены аргументы: ggplot2.tidyverse.org/reference/geom_smooth.html
jan-

Ссылка @ StéphaneLaurent переместилась (учитывая, что ей уже 5+ лет): stats.idre.ucla.edu/r/faq/…
MokeEire

Ответы:


38

Иногда вопрос, из-за которого выпрыгивает ответ. Методы и дополнительные аргументы перечислены на странице ggplot2 wiki stat_smooth .

О чем говорится на geom_smooth()странице:

«См. Stat_smooth для примеров использования встроенной подгонки модели, если вам нужно что-то более гибкое. В этом примере показано, как построить подгонки для любой модели по вашему выбору».

Это не первый раз, когда я вижу в примерах для графиков ggplot аргументы, которых нет в функции. Это действительно затрудняет определение объема каждой функции, или, может быть, я еще не наткнулся на волшебный явный список, в котором указано, что будет, а что не будет работать в каждой функции.


4
да, документация немного запуталась. Мне не нравится, как Спрингер взимает более 40 долларов за книгу Хэдли, в которой содержится информация, которой не хватает на сайте.
wespiserA

@wespiserA, в каком смысле информация отсутствует на веб-сайте (или в справке пакета)? nzcoops искал не в том месте. Это не означает, что помощь geom_smooth()не может быть улучшена, скажем, путем явного упоминания methodи просмотра stat_smooth()- на данный момент это происходит только в комментариях в примерах - и вежливое электронное письмо Хэдли, я уверен, сработает чудеса. Написание документации сложно, особенно когда вы так близко к коду; как разработчик вы больше не являетесь пользователем, и вам будет сложно писать документацию для пользователей.
Гэвин Симпсон

1
@nzcoops причина, по которой он не задокументирован в качестве аргумента, geom_smooth()заключается в том, что эта функция не имеет и не принимает этот аргумент. Код geom предназначен для создания объектов, которые при печати рисуют. Соглашение в ggplot - иметь stat_foo()функции, даже stat_identity()если вы не хотите ничего вычислять. Тем не менее, Хэдли приветствует комментарии / критику своего кода / пакетов, так что оставьте его и отправьте электронное письмо и предложите более высокие ссылки профиля между geom_документацией и связанной с нимиstat_
Гэвин Симпсон

2
@Gavin, да, я несколько раз писал Хэдли по электронной почте, думал, что вопрос все еще важен здесь, так как я не сомневаюсь, что другие будут гуглить его в какой-то момент. Однако ваш комментарий о том, что «не принимаю и не принимаю этот аргумент», неверен. Оно делает. Он вполне может передать его в stat_smooth (), но он «принимает» его, как показывают примеры. Я также не хотел
приставать

23

Аргумент метода указывает параметр сглаженной статистики. Вы можете увидеть stat_smoothсписок всех возможных аргументов аргумента метода.


Дерзкая смена ответа @wespiser: P Я позволю этому пройти;)
nzcoops

да, вы впервые поймали мой блеф. После этого я решил провести небольшое исследование и выяснить, что происходит!
wespiserA

1

Аргумента se из примера также нет в справке или онлайн-документации.

Когда 'se' в geom_smooth установлен 'FALSE', область затенения ошибки не видна

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.