2010-05-01 29 views
4

我有一個3個時間序列的data.frame,如下所示。當我用平滑的時間序列繪製它們時,我希望能夠獲得我繪製的線性模型的參數,但是我看不到如何做到這一點?R:ggplot2,如何從繪製的線性模型中獲得參數更平滑?

> data 
    day od series_id 
    1 1 0.10  A1 
    2 3 1.00  A1 
    3 5 0.50  A1 
    4 7 0.70  A1 
    5 1 1.70  B1 
    6 3 1.60  B1 
    7 5 1.75  B1 
    8 7 1.70  B1 
    9 1 2.10  C1 
    10 3 2.30  C1 
    11 5 2.50  C1 
    12 7 2.70  C1 

    data = data.frame (day = c(1,3,5,7,1,3,5,7,1,3,5,7), 
    od = c(0.1,1.0,0.5,0.7 ,1.7,1.6,1.75,1.7 ,2.1,2.3,2.5,2.7), 
    series_id = c("A1", "A1", "A1","A1", "B1", "B1","B1", "B1", "C1","C1", "C1", "C1")) 

    r <- ggplot(data = data, aes(x = day, y = od)) 
    r + stat_smooth(aes(group = series_id, color = series_id),method="lm") 
+1

好問題!我通常會自己重新塑造模型,但我一直在想,是否有辦法避免重複工作。 – Sharpie 2010-05-01 01:25:46

+1

那麼,一旦你修改它,你可以使用模型輸出來繪製覆蓋... – hadley 2010-05-01 02:05:29

回答

4

我不知道是否該層對象應該計算的所有結果存儲在未來,但目前裝修上調用圖紙和模型不存儲在該層的對象。 作爲一個簡單的解決方法,你可以得到相同的結果

dlply(data,.(series_id),function(x)lm(od~day,data=x))