定期的に回帰を実行するデータがあります。データの各「チャンク」は、異なる回帰に適合します。たとえば、各状態には、依存値を説明するさまざまな関数がある場合があります。これは典型的な「分割-適用-結合」タイプの問題のように思えるので、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
でしょうか?