如何使用 R 包“gtsummary”在摘要 table 中添加卡方效应大小 Cramer's V?
How to add the Chi-square effect size Cramer's V in the summary table using R package “gtsummary”?
问题
我正在使用 gtsummary table,其中包括均值和频率的统计检验。我想将效果大小包括到 table 中并遇到了 。该代码也适用于 Cohen 的 d,但我正在努力为 Cramer 的 V 修改它。似乎 cramer_v() 函数需要调用现成的应急 table,而不是使用原始数据.有什么方法可以计算并在 gtsummary table?
中包含卡方的 Cramer's V
例子
library(tidyverse)
library(rstatix)
library(gtsummary)
theme_gtsummary_mean_sd()
my_ES_test <- function(data, variable, by, ...) {
rstatix::cohens_d(data, as.formula(glue::glue("{variable} ~ {by}")))$effsize
}
gtTable <- mtcars %>%
select(hp, vs, am) %>%
tbl_summary(by = vs) %>%
add_p() %>%
add_stat(fns = all_continuous() ~ my_ES_test) %>%
modify_header(add_stat_1 ~ "Effect size")
print(gtTable)
contTable <- table(mtcars$vs, mtcars$am)
chisq.test(contTable, correct = FALSE)
#>
#> Pearson's Chi-squared test
#>
#> data: contTable
#> X-squared = 0.90688, df = 1, p-value = 0.3409
cramer_v(contTable)
#> [1] 0.1042136
我在输出中添加了一个示例,其中包括 Cramer 的 V table。编程愉快!
library(gtsummary)
my_ES_test <- function(data, variable, by, ...) {
rstatix::cohens_d(data, as.formula(glue::glue("{variable} ~ {by}")))$effsize
}
my_cramer_v <- function(data, variable, by, ...) {
table(data[[variable]], data[[by]]) %>%
rstatix::cramer_v()
}
gtTable <-
mtcars %>%
select(hp, vs, am) %>%
tbl_summary(by = vs) %>%
add_p() %>%
add_stat(
fns = list(all_continuous() ~ my_ES_test,
all_categorical() ~ my_cramer_v)) %>%
modify_header(add_stat_1 ~ "**Effect size**")
由 reprex package (v2.0.1)
于 2021-09-07 创建
仅供参考,Cohen's D 具有内置支持,因此您无需创建自定义方法。您可以在此处查看完整列表 https://www.danieldsjoberg.com/gtsummary/reference/tests.html
问题
我正在使用 gtsummary table,其中包括均值和频率的统计检验。我想将效果大小包括到 table 中并遇到了
例子
library(tidyverse)
library(rstatix)
library(gtsummary)
theme_gtsummary_mean_sd()
my_ES_test <- function(data, variable, by, ...) {
rstatix::cohens_d(data, as.formula(glue::glue("{variable} ~ {by}")))$effsize
}
gtTable <- mtcars %>%
select(hp, vs, am) %>%
tbl_summary(by = vs) %>%
add_p() %>%
add_stat(fns = all_continuous() ~ my_ES_test) %>%
modify_header(add_stat_1 ~ "Effect size")
print(gtTable)
contTable <- table(mtcars$vs, mtcars$am)
chisq.test(contTable, correct = FALSE)
#>
#> Pearson's Chi-squared test
#>
#> data: contTable
#> X-squared = 0.90688, df = 1, p-value = 0.3409
cramer_v(contTable)
#> [1] 0.1042136
我在输出中添加了一个示例,其中包括 Cramer 的 V table。编程愉快!
library(gtsummary)
my_ES_test <- function(data, variable, by, ...) {
rstatix::cohens_d(data, as.formula(glue::glue("{variable} ~ {by}")))$effsize
}
my_cramer_v <- function(data, variable, by, ...) {
table(data[[variable]], data[[by]]) %>%
rstatix::cramer_v()
}
gtTable <-
mtcars %>%
select(hp, vs, am) %>%
tbl_summary(by = vs) %>%
add_p() %>%
add_stat(
fns = list(all_continuous() ~ my_ES_test,
all_categorical() ~ my_cramer_v)) %>%
modify_header(add_stat_1 ~ "**Effect size**")
仅供参考,Cohen's D 具有内置支持,因此您无需创建自定义方法。您可以在此处查看完整列表 https://www.danieldsjoberg.com/gtsummary/reference/tests.html