我正在尝试使用stargazer
来格式化lmList
包中nlme
函数的输出格式。如果手动为每个列表元素建立索引,我可以使stargazer
正常工作,但是如果我仅通过stargazer
完整列表,则无法工作。关于如何获得stargazer
来识别lmList
输出的任何建议?
library(nlme)
library(stargazer)
data("iris")
m <- lmList(Sepal.Length ~ Sepal.Width | Species, data = iris)
stargazer(m, type = "text") # "% Error: Unrecognized object type.
stargazer(m[[1]], m[[2]], m[[3]], type = "text")
答案 0 :(得分:2)
您需要将stargazer的所有参数打包为列表,然后让stargazer接受参数列表。神奇的功能是do.call
。
do.call
的第一个参数是函数,第二个参数是在第一个参数中传递给该函数的参数列表。
所以这样的事情应该起作用:
do.call(stargazer, c(m, type = "text"))
仅供参考,do.call
的整版版本为invoke
,因此相同。
invoke(stargazer, c(m, type = "text"))
调用会更好,因为您可以传递其他参数(如上面的类型)而无需将其放在列表中。