モデルのリストで stargazer を呼び出すにはどうすればよいですか?
質問
データとコードの分離を強制する、優れた柔軟な方法で一連のモデルを実行しました。構成セクションには数式とモデルの素晴らしいリストがありました。 lapply
'モデルオブジェクトのリストを取得します。今、私はそれらをで表示したいと思います stargazer
, ただし、リストオブジェクトは必要ありません。各リスト要素を入力せずにこれを行うにはどうすればよいでしょうか?
再現可能な例:
require(stargazer)
l <- list()
l$lm1 <- lm(rating ~ complaints + privileges + learning + raises + critical,
data=attitude)
l$lm2 <- lm(rating ~ complaints + privileges + learning, data=attitude)
## create an indicator dependent variable, and run a probit model
attitude$high.rating <- (attitude$rating > 70)
l$prbt <- glm(high.rating ~ learning + critical + advance, data=attitude,
family = binomial(link = "probit"))
stargazer( l[[1]], l[[2]], l[[3]], title="Results", align=TRUE, type="text")
解決
最新バージョンのパッケージを使用していることを確認してください。バージョン 4.5.3 (2013 年 11 月以降 CRAN で利用可能) 以降、 stargazer
は、期待どおりの方法でオブジェクトのリストを受け入れることができました。
stargazer(l, title="Results", align=TRUE, type="text")
他のヒント
do.call
:
do.call( stargazer, l )
.
しかし、この妊娠は通常の方法で引っ越しを受けます:
> do.call( stargazer, l, type="text" )
Error in do.call(stargazer, l, type = "text") :
unused argument (type = "text")
.
したがって、名前付き引数をリストに追加する必要があります。
l$type <- "text"
l$align <- TRUE
l$title <- "Results"
do.call( stargazer, l )
.
これを行うもう1つの方法は、Stargazer関数をカレーすることです:
require(functional)
sgCurried <- Curry( stargazer, type="text" ) # all arguments to stargazer go in here
do.call( sgCurried, l )
. 所属していません StackOverflow