我在 R 中有一个使用 stargazer 包创建的示例回归表:
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2, 10, 20, labels = c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
se1 <- round(coeftest(lm.D9, vcov = vcovHC(lm.D9, type="HC1"))[,2],4)
stargazer(mod1,
se=list(se1),keep.stat="n", type="text",
add.lines = list(c("Method","OLS"),
c("HR Robust","True True True")))
与观星者输出:
========================================
Dependent variable:
---------------------------
workedm
----------------------------------------
morekids -0.115***
(0.002)
Constant 0.575***
(0.001)
----------------------------------------
Method OLS
HR Robust True True True
Observations 266,928
========================================
Note: *p<0.1; **p<0.05; ***p<0.01
我想将
Observations
行移到Method
和HR Robust
上方。此外,我想缩进每个 "True True True"
部分,以便每个 True
都在另一个之上:
...
Method OLS
HR Robust True
True
True
Observations 266,928
...
有没有办法做到这一点?谢谢!
stargazer
方便地将其输出作为字符向量返回,不可见。这允许我们将输出分配给一个变量,然后根据您的需要对其进行后处理。
例如,我们可以将原图转换成您想要的输出如下:
star = stargazer(mod1, se=list(se1),keep.stat="n", type="text",
add.lines = list(c("Method","OLS"),
c("HR Robust","True True True")))
meth.row = grep('^Method', star)
obs.row = grep('^Observations', star)
HR.row = grep('^HR Robust', star)
star = c(
star[1:(meth.row-1L)],
star[obs.row],
star[meth.row],
new.hr <- sub('True True True',' True ',star[HR.row]),
rep(sub('HR Robust', ' ', new.hr), 2),
star[setdiff((HR.row+1):length(star), obs.row)]
)
cat(star, sep ='\n')
产生
========================================
Dependent variable:
---------------------------
y
----------------------------------------
x 4.004
Constant -0.235***
(0.017)
----------------------------------------
Observations 100
Method OLS
HR Robust True
True
True
========================================
Note: *p<0.1; **p<0.05; ***p<0.01
您可以使用
table.layout
参数来自定义要在输出中显示的元素的顺序:
一个字符串,指定表格的哪些部分应该是 按照用户提供的顺序包含在输出中。每个字母 在字符串中表示表的特定部分,如指定的那样 按表布局字符。例如,table.layout = "#tn" 将仅报告型号、系数表和注释。
library(stargazer)
library(lmtest)
library(sandwich)
group <- gl(2, 10, 20, labels = c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
se1 <- round(coeftest(lm.D9, vcov = vcovHC(lm.D9, type="HC1"))[,2],4)
stargazer(lm.D9,
se=list(se1), keep.stat="n", type="text",
add.lines = list(c("Method","OLS"),
c("HR Robust","True"),
c("", "True"),
c("", "True")),
table.layout = "=ld-t-sa=n")
#>
#> ========================================
#> Dependent variable:
#> ---------------------------
#> weight
#> ----------------------------------------
#> groupTrt -0.371
#> (0.311)
#>
#> Constant 5.032***
#> (0.184)
#>
#> ----------------------------------------
#> Observations 20
#> Method OLS
#> HR Robust True
#> True
#> True
#> ========================================
#> Note: *p<0.1; **p<0.05; ***p<0.01
创建于 2023-04-15 与 reprex v2.0.2
在这里您可以找到用于创建每个描述的订单的字符:
Table Layout Characters
"-" single horizontal line
"=" double horizontal line
"-!" mandatory single horizontal line
"=!" mandatory double horizontal line
"l" dependent variable caption
"d" dependent variable labels
"m" model label
"c" column labels
"#" model numbers
"b" object names
"t" coefficient table
"o" omitted coefficient indicators
"a" additional lines
"n" notes
"s" model statistics