我有以下回归:
fit1 <- lm(y ~ x1, data = data)
fit2 <- lm(y ~ x1 + x2, data = data)
fit3 <- lm(y ~ x3 * x1, data = data)
Run Code Online (Sandbox Code Playgroud)
我希望在输出中解释变量是有序的(x1、x2、x3,最后是交互)。我按顺序尝试以下操作,但交互仍然出现在 x1 之后。这里可能有什么问题?
stargazer(fit1, fit2, fit3, align=TRUE, table.placement="H",omit.stat=c("f", "ser"), order=c("x1", "x2", "x3", "x3:x1"))
Run Code Online (Sandbox Code Playgroud)
如果只有几个变量,数字顺序就可以正常工作。如果您经常更改解释变量,您可能希望以自动方式设置顺序。
假设您有一个变量名称向量,并且顺序正确。您可以将它们转换为“完全匹配正则表达式”:
vars.order <- c("x1", "x2", "x3", "x3:x1")
stargazer(fit1, fit2, fit3, align=TRUE,
table.placement="H",omit.stat=c("f", "ser"), order=paste0("^", vars.order , "$")
Run Code Online (Sandbox Code Playgroud)
到目前为止,这对我有用,但如果变量名称包含特殊字符,例如“。”,您可能会遇到一些问题。或者 ”*”。
订单的帮助文件指出“订单 - 一个正则表达式(或数字索引)向量,指示变量在输出中出现的顺序”。所以你的字符串被解析为正则表达式,x1 匹配 x3:x1。你可以做一个数字顺序:
stargazer(fit1, fit2, fit3, align=TRUE,
table.placement="H",omit.stat=c("f", "ser"), order=c(2,3,1,4,5))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5937 次 |
| 最近记录: |