Я пытаюсь использовать сглаживание GAM в ggplot2. Согласно этой беседе и этот код, ggplot2 загружает mgcv используется для общих аддитивных моделей, только если n >= 1000. В противном случае пользователь вручную загрузить пакет. Насколько я понимаю, этот пример кода из разговора должен выполнять сглаживание с использованием geom_smooth(method="gam", formula = y ~ s(x, bs = "cs"))
:
library(ggplot2)
dat.large <- data.frame(x=rnorm(10000), y=rnorm(10000))
ggplot(dat.large, aes(x=x, y=y)) + geom_smooth()
Но я получаю сообщение об ошибке:
geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
Error in s(x, bs = "cs") : object 'x' not found
Та же ошибка возникает, если я пытаюсь выполнить следующее:
ggplot(dat.large, aes(x=x, y=y)) + geom_point() + geom_smooth(method="gam", formula = y ~ s(x, bs = "cs"))
Но, например, линейная модель будет работать:
ggplot(dat.large, aes(x=x, y=y)) + geom_smooth(method = "lm", formula = y ~ x)
Что я здесь делаю неправильно?
Мои версии R и пакетов должны быть актуальными:
R version 3.0.3 (2014-03-06)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
other attached packages: mgcv_1.7-29 ggplot2_0.9.3.1
R version 3.1.0 (2014-04-10) mgcv_1.7-29 ggplot2_0.9.3.1
, но все равно получаю то же сообщение об ошибке. Есть ли другие на OS X Mavericks? Может быть, это проблема конкретной ОС? - person Mikko   schedule 25.04.2014