【发布时间】:2015-10-24 22:37:00
【问题描述】:
我有一个大型数据集,其中包含站点位置和相关的测量/日期以及可变长度记录。我想在每个站点进行线性回归,并将回归线的斜率附加为我的数据的新向量。
这是我的数据的简化示例:
site_no<- c(1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5)
date<- c(1/1/1990, 1/1/1991, 1/1/1992, 1/4/1963, 1/10/1970, 1/10/1975,
1/10/1980, 1/1/1990, 1/1/1998, 1/1/1999, 1/1/2000, 1/1/2005)
measurement<- c(.5, .75, 1.0, .5, .6, 1.0, 1.5, 1.1, 1.2, 1.8, 1.9, 2)
df<- data.frame(site_no, date, measurement)
如果可以消除单个测量站点,则可以加分,尽管我可以在事前或事后轻松解决这个问题。
我还将这些数据按站点编号拆分为单独的 CSV 文件,所以从这个角度解决问题可能更容易?
感谢任何见解。
【问题讨论】:
-
或许
library(data.table);setDT(df)[, Slope:=coef(lm(measurement~date))[2] , site_no]
标签: r append linear-regression