R 的 Stargazer 包中的自定义模型名称
Custom model names in Stargazer package for R
我想知道如何在 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)
你可以做到
stargazer(m1, m2, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
获取自定义标签和对象名称,m1
和 m2
。这可以通过使用 non-standard 与您想要的额外模型名称匹配的名称
来有效地滥用
OLS = m1
`2SLS` = m2
stargazer(OLS, `2SLS`, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
不过,不幸的是,反引号包含在输出中。 (作为额外的技巧,您可以 capture.output()
并使用 gsub
删除它们)。
stargazer 使用的模型名称不是模型对象的一部分,而是 stargazer 检查模型对象并尝试提取它们。可以看到.model.identify
函数on github。您可以尝试 fixInNamespace
来调整它,但我认为 post-hoc hack 更容易。
我想知道如何在 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)
你可以做到
stargazer(m1, m2, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
获取自定义标签和对象名称,m1
和 m2
。这可以通过使用 non-standard 与您想要的额外模型名称匹配的名称
OLS = m1
`2SLS` = m2
stargazer(OLS, `2SLS`, object.names = TRUE,
column.labels = c("lab 1", "lab 2e"))
不过,不幸的是,反引号包含在输出中。 (作为额外的技巧,您可以 capture.output()
并使用 gsub
删除它们)。
stargazer 使用的模型名称不是模型对象的一部分,而是 stargazer 检查模型对象并尝试提取它们。可以看到.model.identify
函数on github。您可以尝试 fixInNamespace
来调整它,但我认为 post-hoc hack 更容易。