複数のモデルをリストとして一つのオブジェクトにまとめる方法

微妙にハマったので備忘。Rで複数のモデルを走らせたあと、まとめておいて、まとめてテーブルに出力したりしたいときにリストにまとめておくコード。

models <- list()
for(i in 1:length(variable.name.list)){
temp.model <- run.pois.model(variable.name.list[i])
models[ [variable.name.list[i ] ] ] <- temp.model
}

run.pois.modelはこの変数を取ってモデルを走らせてくれる自作関数。こうしておくと、変数名を使ってあとでアクセスできる。

print(models[ ["variable.name"] ])

こんな感じで出力したりとか。ポイントは、list()で空のリストとしてmodelsを初期化すること。NULLで初期化すると、モデルによってはエラーがでる。lmer(...)とか。