0

首先感谢modelsummary包的创建者——非常有用!

我有一个关于fmt统计和估计不同的问题?这是一个代表:

    url <- 'https://vincentarelbundock.github.io/Rdatasets/csv/HistData/Guerry.csv'
dat <- read.csv(url)
models <- list(
  "OLS 1"     = lm(Donations ~ Literacy + Clergy, data = dat),
  "Poisson 1" = glm(Donations ~ Literacy + Commerce, family = poisson, data = dat),
  "OLS 2"     = lm(Crime_pers ~ Literacy + Clergy, data = dat),
  "Poisson 2" = glm(Crime_pers ~ Literacy + Commerce, family = poisson, data = dat),
  "OLS 3"     = lm(Crime_prop ~ Literacy + Clergy, data = dat)
)
modelsummary(models)
modelsummary(models, output = "flextable", estimate=glue_col("{estimate}{stars}"),
             statistic = 'statistic', stars = c('*' = .1, '**' = .05, '***'=0.01))

如何使系数下的 t 统计量具有 2 个有效数字和估计值 3?所以第一个系数统计对将是:7948.667 (2078.27)

我仔细阅读了文档,但没有找到答案。先感谢您!

4

1 回答 1

1

从 0.9.4 版开始,没有直接fmt的方法可以仅使用他的参数或glue字符串来实现这一点。

但是,很容易利用 网站上描述的tidy_custom机制 glance_custom对 您的估计和统计数据进行任何后期处理。这为用户提供了自定义输出格式的无限可能性。modelsummary

例如,

library(modelsummary)
library(broom)

tidy_custom.lm <- function(x) {
    out <- broom::tidy(x)
    out$statistic <- sprintf("%.2f", out$statistic)
    out$estimate <- sprintf("%.3f", out$estimate)
    return(out)
}

mod <- lm(mpg ~ hp + drat, mtcars)

modelsummary(mod, statistic = "statistic", stars = TRUE)
模型 1
(截距) 10.790*
(2.12)
生命值 -0.052***
(-5.57)
德拉特 4.698***
(3.94)
数量。 32
R2 0.741
R2 调整。 0.723
AIC 169.5
BIC 175.4
日志。 -80.752
F 41.522

注: ^^ + p < 0.1,* p < 0.05,** p < 0.01,*** p < 0.001

在 Github 上打开了一个问题。如果您想为对话做出贡献,请随时在此处发帖。

于 2021-12-17T15:01:28.557 回答