如何在 R 的观星表中手动移动观察行并堆叠条目?

问题描述 投票:0回答:2

我在 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   
...

有没有办法做到这一点?谢谢!

r stargazer
2个回答
0
投票

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

0
投票

您可以使用

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
© www.soinside.com 2019 - 2024. All rights reserved.