リストにいくつかのモデルが保存されているとしましょう:
mods <- list()
mods[[1]] <- lm(mpg ~ disp, data = mtcars)
mods[[2]] <- lm(mpg ~ disp + factor(cyl), data = mtcars)
mods[[3]] <- lm(mpg ~ disp * factor(cyl), data = mtcars)
を使って比較したいと思いますstats::AIC
。から得られる出力を探していますがAIC(mods[[1]], mods[[2]], mods[[3]])
、任意の長いリストに一般化したいと考えています。と思いました
do.call(AIC, mods)
動作しますが、非常に冗長で役に立たないものを返します。object
(リストに名前が付けられている場合、名前の 1 つがの最初の引数に対応するでない限り、エラーが発生しますAIC
が、詳細な出力が再び得られます。)
の失敗後、解決策do.call
を考え始めeval(parse())
ましたが、まずはここで質問する必要があると考えました。