Как я могу использовать spline () с ggplot? - PullRequest
15 голосов
/ 22 декабря 2010

Я хотел бы подогнать свои данные, используя сплайн (y ~ x), но во всех примерах, которые я могу найти, используется сплайн со сглаживанием, например, lm (y ~ ns (x), df = _).

Я хочу использовать spline() специально, потому что я использую это для анализа, представленного построенным мной графиком.

Есть ли простой способ использования spline () в ggplot??

Я рассмотрел хакерский подход к подгонке линии, используя

geom_smooth(aes(x=(spline(y~x)$x, y=spline(y~x)$y))

, но я бы предпочел не прибегать к этому.

1 Ответ

26 голосов
/ 22 декабря 2010

это то, что вы хотите?

n <- 10
d <- data.frame(x = 1:n, y = rnorm(n))
ggplot(d,aes(x,y)) + geom_point() + 
  geom_line(data=data.frame(spline(d, n=n*10)))
...