2010-12-21 29 views
11

我想用样条线(y〜x)来拟合我的数据,但是我可以找到的所有例子都使用样条曲线进行平滑处理,例如lm(y〜ns(x),df = _)。如何使用spline()和ggplot?

我想使用spline()具体是因为我正在使用它来进行我正在绘制的情节所代表的分析。

有没有简单的方法来使用ggplot中的spline()?

我曾考虑使用拟合

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

行的hackish的方法,但我宁愿不要不得不求助于此。

谢谢!

回答

22

这是你想要的吗?

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))) 
+0

这正是我所期待的;很好,很简单。谢谢 – 2010-12-22 01:04:08