2010-12-21 48 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