我有我定期对其进行回归的数据。每个“块”数据都适合不同的回归。例如,每个状态可能有不同的函数来解释依赖值。这似乎是一个典型的“拆分应用组合”类型的问题,所以我使用的是 plyr 包。我可以轻松地创建一个lm()
运行良好的对象列表。但是,我不能完全理解以后如何使用这些对象来预测单独 data.frame 中的值。
这是一个完全人为的示例,说明了我正在尝试做的事情:
# setting up some fake data
set.seed(1)
funct <- function(myState, myYear){
rnorm(1, 100, 500) + myState + (100 * myYear)
}
state <- 50:60
year <- 10:40
myData <- expand.grid( year, state)
names(myData) <- c("year","state")
myData$value <- apply(myData, 1, function(x) funct(x[2], x[1]))
## ok, done with the fake data generation.
require(plyr)
modelList <- dlply(myData, "state", function(x) lm(value ~ year, data=x))
## if you want to see the summaries of the lm() do this:
# lapply(modelList, summary)
state <- 50:60
year <- 50:60
newData <- expand.grid( year, state)
names(newData) <- c("year","state")
## now how do I predict the values for newData$value
# using the regressions in modelList?
那么如何使用其中lm()
包含的对象modelList
来预测使用年份和状态独立值的值newData
?