【问题标题】:How to insert mean and standard deviation within a correlation matrix in stargazer如何在观星者的相关矩阵中插入均值和标准差
【发布时间】:2021-10-22 20:15:11
【问题描述】:

我见过一些出版质量相关表,除了其他变量之外,还包含表中的均值和标准差。我准备了我的相关矩阵并使用 stargazer 来输出,但是没有办法包括平均值和标准差。我进行了广泛的搜索,但这不是在线的任何地方。 请注意,stargazer 会生成均值/标准差表和相关表的所需输出,但无法将两者合并到一个表中。 所以,我想要

顺便说一句,在 stargazer 中使用 summary.stat 函数并不能解决这个问题。任何帮助如何在观星者中做到这一点?谢谢!

【问题讨论】:

  • 您将希望更改您的帖子以包含reproducible example 以快速获得最佳答案。但是,在 stargazer 包含在他们的库中的 PDF 中,他们解释了如何将 SE 等内容添加到相关表中。你看过吗?

标签: r statistics data-science stargazer


【解决方案1】:

这不是stargazer 的答案(对不起!),但我仍将其留在这里,以防有人发现它有用。

使用datasummary family of functions from the modelsummary package. 可以很容易地实现此结果(免责声明:我是维护者。)

首先,datasummary 函数可用于绘制具有用户定义的任意统计信息的汇总表。在这种情况下,我们可以这样做:

library(modelsummary)

dat <- mtcars[, c("hp", "mpg", "drat")]

datasummary(All(dat) ~ Mean + SD, data = dat)

那么datasummary_correlation就可以生成关联表了:

datasummary_correlation(dat)

最后,我们使用output 参数将关联表保存为data.frame,并将这个data.frame 提供给datasummaryadd_columns 参数以合并两个表:

library(modelsummary)

corr <- datasummary_correlation(dat, output = "data.frame")[, 2:3]

datasummary(All(dat) ~ Mean + SD, data = dat, add_columns = corr)

【讨论】:

  • 这是一个有用的回复。谢谢@文森特。是的,模型摘要似乎更适合这种操作。我只是想知道这是否也可以在 stargazer 中完成。
【解决方案2】:

科学出版物对某些表格(例如相关表格等)使用规范格式,以保持一定的编辑和图形风格。您正在查看的表格是这种规范格式的示例。以美国心理学会要求的风格here为例。
我相信没有这样的功能可以产生这样的自动化输出,但可以通过以下方式产生。

library(tidyverse)
library(corrr)
library(knitr)
library(kableExtra)


df  <- data.frame(Var1 = rnorm(100), Var2 = rnorm(100), Var3 = rnorm(100), Var4 = rnorm(100))


options(knitr.kable.NA = '')

df1 <- df %>% 
  correlate(diagonal = 1) %>%
  shave(upper = TRUE) 

df1$Mean <- unlist(lapply(df, mean))

df1$sd <- unlist(lapply(df, sd))

names(df1) <- c("Variable", 1, 2, 3, 4, "Mean", "s.d.")

df1 %>% select(Variable, Mean, `s.d.`, 1, 2, 3, 4) %>%
  kbl() %>% kable_classic(full_width = F)

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2019-04-15
    • 2021-11-02
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多