在 tbl_summary 中按行添加平均值(数值变量)的列
Add column in tbl_summary with mean (numeric variable) by rows
我是 R 的新手,非常感谢您在以下方面的帮助。我正在使用 tbl_summary 函数使用 gtsummary 包制作 table:
install.packages("gtsummary")
library(gtsummary)
library(dplyr)
data(mtcars)
df <- mtcars %>% select(cyl, hp)
tbl_summary(df)
结果 table 显示气缸组 (4、6、8) 的 n(%) 以及 hp 的中值 (IQR)。我还没有足够的信誉点数来嵌入图像,但这里是 link 可以看到 table:[1]:https://i.stack.imgur.com/Whvz6.png
我的问题是:如何添加一个 附加 列,其中包含按行组(即,圆柱子级别)的平均 hp,而不是将总 hp 作为一行包含在内?我试图将可自定义的 add_stat 参数添加到 tbl_summary 但未能获得所需的结果。
如果我需要澄清我的问题,请告诉我。预先感谢您的帮助。
有几种方法可以解决这个问题。一种方法是使用 add_stat()
.
library(gtsummary)
fn_add_mean <- function(data, variable, ...) {
data %>%
dplyr::group_by(.data[[variable]]) %>%
dplyr::arrange(.data[[variable]]) %>%
dplyr::summarise(hp = mean(hp, na.rm = TRUE)) %>%
select(hp) %>%
mutate(hp = style_sigfig(hp))
}
fn_add_mean(mtcars, "cyl")
#> # A tibble: 3 x 1
#> hp
#> <chr>
#> 1 83
#> 2 122
#> 3 209
tbl <-
mtcars %>%
select(hp, cyl, gear) %>%
tbl_summary(
include = -hp,
type = everything() ~ "categorical"
) %>%
add_stat(
all_categorical() ~ fn_add_mean,
location = all_categorical() ~ "level"
) %>%
modify_header(hp ~ "**Mean Horsepower**")
由 reprex package (v2.0.0)
创建于 2021-07-31
我是 R 的新手,非常感谢您在以下方面的帮助。我正在使用 tbl_summary 函数使用 gtsummary 包制作 table:
install.packages("gtsummary")
library(gtsummary)
library(dplyr)
data(mtcars)
df <- mtcars %>% select(cyl, hp)
tbl_summary(df)
结果 table 显示气缸组 (4、6、8) 的 n(%) 以及 hp 的中值 (IQR)。我还没有足够的信誉点数来嵌入图像,但这里是 link 可以看到 table:[1]:https://i.stack.imgur.com/Whvz6.png
我的问题是:如何添加一个 附加 列,其中包含按行组(即,圆柱子级别)的平均 hp,而不是将总 hp 作为一行包含在内?我试图将可自定义的 add_stat 参数添加到 tbl_summary 但未能获得所需的结果。
如果我需要澄清我的问题,请告诉我。预先感谢您的帮助。
有几种方法可以解决这个问题。一种方法是使用 add_stat()
.
library(gtsummary)
fn_add_mean <- function(data, variable, ...) {
data %>%
dplyr::group_by(.data[[variable]]) %>%
dplyr::arrange(.data[[variable]]) %>%
dplyr::summarise(hp = mean(hp, na.rm = TRUE)) %>%
select(hp) %>%
mutate(hp = style_sigfig(hp))
}
fn_add_mean(mtcars, "cyl")
#> # A tibble: 3 x 1
#> hp
#> <chr>
#> 1 83
#> 2 122
#> 3 209
tbl <-
mtcars %>%
select(hp, cyl, gear) %>%
tbl_summary(
include = -hp,
type = everything() ~ "categorical"
) %>%
add_stat(
all_categorical() ~ fn_add_mean,
location = all_categorical() ~ "level"
) %>%
modify_header(hp ~ "**Mean Horsepower**")