使用 stargazer 导出回归 table:$ 运算符对原子向量无效

export regression table with stargazer: $ operator is invalid for atomic vectors

我正在尝试使用 stargazer 导出回归 table。回归输出来自 glm,看起来像:

Call:
glm(formula = formula, family = binomial(logit), data = data)

Deviance Residuals: 
Min       1Q   Median       3Q      Max  
-1.2913  -0.11888  -0.3239  -0.3216   2.6627  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -3.4839244  0.2439274 -14.283  < 2e-16 ***
data$var              0.00144  0.003666   0.021  0.2724    

不幸的是,我无法控制该回归的变量名称。当我尝试 运行 stargazer 在 tex 中导出 table 我得到错误

$ operator is invalid for atomic vectors

我该怎么办?我尝试用 stargazer 更改变量的标签,但这不起作用。

stargazer(glm_output,
      title            = "results",
      covariate.labels = c("newname"),
      dep.var.caption  = "caption",
      dep.var.labels   = "dep",
      rownames = FALSE)

非常感谢!!!

最佳解决方案是

  • 用扫帚整理数据
  • 在清理后的数据帧上使用 stargazer

谢谢!

您的对象 glm_outputsummary(glm(...))glm(...) 的结果吗? stargazer() 应该在 glm 对象本身而不是其摘要上调用。

我发现 gtsummary 包(由 Daniel D. Sjoberg 等人开发)对导出回归和汇总统计数据非常有帮助 tables。在上述情况下,包中的 tbl_regression 函数可用于导出 glm 结果。执行此操作的示例代码如下:

library(tidyverse)
library(gtsummary)


height <- runif(100, min=140, max=200)
weight <- runif(100, min=40, max=110)
status <- rbinom(n=100, size=1, prob=0.25)

df <- data.frame(height=height,
                 weight=weight,
                 status=status)
   
   
mod <- glm(status ~ weight + height, df, family = binomial)

Table1 <- tbl_regression(mod, exponentiate = TRUE)

tmp <- "~path/name.docx"  ## specifying the directory path and name of the word document

Table1 %>% 
  as_flex_table() %>% 
  flextable::save_as_docx(path=tmp) ##export result as word doc

glm 的结果如下面的输出所示,然后以与 word 文档相同的格式保存。您还可以修改变量标签,在输出中包含更多信息 table 等。有关详细示例,请参阅包网站。

https://cran.r-project.org/web/packages/gtsummary/index.html https://www.danieldsjoberg.com/gtsummary/articles/tbl_regression.html