【问题标题】:Custom model names in Stargazer package for R用于 R 的 Stargazer 包中的自定义模型名称
【发布时间】:2015-12-29 18:25:05
【问题描述】:

我想知道如何在 R 的 stargazer 包中获取自定义模型名称。

model.names 有一个选项,可以设置为TRUEFALSE,但它不支持向量或名称,例如model.names = c('OLS','2SLS','GLS')

有没有办法覆盖函数以使用作为参数传递的自定义名称,而不是从传递的对象中读取模型名称?

【问题讨论】:

  • 不是您要求的解决方案,但最方便的方法可能是按照您想要的标签命名您的模型。您可以对非标准名称使用反引号(例如 `2SLS` <- model_2
  • 您能否澄清一下语法(重命名模型)?不是反引号,而是在lm() 对象中修改模型名称的方式。谢谢!

标签: r statistics stargazer


【解决方案1】:

Stargazer 可以选择包含对象名称,因此如果您的模型是

m1 = lm(mpg ~ wt, data = mtcars)
m2 = lm(mpg ~ wt + disp, data = mtcars)

你可以的

stargazer(m1, m2, object.names = TRUE,
          column.labels = c("lab 1", "lab 2e"))

获取自定义标签和对象名称,m1m2。这可以通过使用与您想要的额外模型名称匹配的非标准名称来有效地滥用

OLS = m1
`2SLS` = m2
    stargazer(OLS, `2SLS`, object.names = TRUE,
              column.labels = c("lab 1", "lab 2e"))

但很遗憾,反引号包含在输出中。 (作为额外的 hack,您可以 capture.output() 并使用 gsub 删除它们。

stargazer 使用的模型名称不是模型对象的一部分,而是 stargazer 检查模型对象并尝试提取它们。你可以看到.model.identify函数on github。你可以尝试fixInNamespace 来调整它,但我认为事后破解更容易。

【讨论】:

  • 谢谢,我想capture.output() 方法是要走的路!
猜你喜欢
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 2011-04-22
  • 2014-12-25
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多