How to get the parameters from a plotted linear model smoother?
I have a data.frame with 3 time series in it, shown below. When I plot them with a smoother time series, I want to be able to get the parameters of the linear model that I plot, but I can't see how to do that?
> 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,开发者_如何学JAVA1.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")
I don't know if the layer objects should store all the results of computation in future, but currently the fitting is invoked on drawing and the model is not stored in the layer objects. As a simple workaround, you can get the same result by
dlply(data,.(series_id),function(x)lm(od~day,data=x))
精彩评论