Nic*_*las 6 statistics r stargazer
我想知道如何在R的stargazer包中获取自定义模型名称。
有一个选项model.names可以设置为TRUE或FALSE,但它不支持向量或名称,例如model.names = c('OLS','2SLS','GLS')。
有什么方法可以覆盖函数以使用作为参数传递的自定义名称,而不是从传递的对象中读取模型名称?
Stargazer 可以选择包含对象名称,因此如果您的模型是
m1 = lm(mpg ~ wt, data = mtcars)
m2 = lm(mpg ~ wt + disp, data = mtcars)
Run Code Online (Sandbox Code Playgroud)
你可以做
stargazer(m1, m2, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
Run Code Online (Sandbox Code Playgroud)
获取自定义标签和对象名称,m1以及m2. 这可以通过使用与您想要的额外模型名称匹配的非标准名称来有效地滥用
OLS = m1
`2SLS` = m2
stargazer(OLS, `2SLS`, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
Run Code Online (Sandbox Code Playgroud)
但不幸的是,反引号包含在输出中。(作为一个额外的黑客,你可以用capture.output()删除它们gsub)。
stargazer 使用的模型名称不是模型对象的一部分,而是 stargazer 检查模型对象并尝试提取它们。你可以在 github 上看到这个.model.identify函数。您可以尝试对此进行调整,但我认为事后黑客更容易。fixInNamespace