R: ggplot2, как получить параметры из построенной линейной модели более гладкой? - PullRequest
4 голосов
/ 01 мая 2010

У меня есть data.frame с тремя временными рядами, показанными ниже. Когда я строю их с более плавным временным рядом, я хочу иметь возможность получить параметры линейной модели, которую я строю, но я не могу понять, как это сделать?

   > 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 Ответ

4 голосов
/ 01 мая 2010

Я не знаю, должны ли объекты слоя хранить все результаты вычислений в будущем, но в настоящее время подгонка вызывается на чертеже, и модель не сохраняется в объектах слоя. В качестве простого обходного пути вы можете получить тот же результат, набрав

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