gpt4 book ai didi

r - gtsummary::tbl_summary() 删除输出中的行

转载 作者:行者123 更新时间:2023-12-03 07:58:02 30 4
gpt4 key购买 nike

我正在使用gtsummary::tbl_summary()创建汇总表。这是一个示例数据:

df <- tribble(
~grade, ~year,
"A", "senior",
NA_character_, " senior",
"A", NA_character_,
"B", NA_character_,
NA_character_, NA_character_,
"F", "freshmen"
)

数据存在缺失值,这些缺失值会影响汇总表中的百分比

df |> tbl_summary()

enter image description here


A 级的百分比是 50%,而不是 2/6 = 33.3%。百分比仅根据现有记录从 4 中计算出来。我想获取整个记录的百分比,因此我将缺失值设置为明确的级别。

df |> mutate(across(everything(), ~forcats::fct_explicit_na(.x))) |> tbl_summary()

enter image description here


但是,现在我想用 (Missing) 删除这些行其他级别保持相同的百分比。如何删除输出表中的这些行?我最终想要这样的东西。


<表类=“s-表”><标题>特征N = 6 <正文>等级一个2 (33%)B1 (17%)F1 (17%)年份新生1 (17%)高级2 (33%)

编辑:或者是否有更聪明的方法来处理百分比?有没有办法直接改变这些百分比,而不是让它们成为一个明确的水平?我试过missing = "no" tbl_summary()中的参数但百分比仍然保持不变

df |> tbl_summary(missing = "no")

enter image description here

最佳答案

如果我们想要高级为 n = 2,那么我们首先必须删除数据框中的额外空白。剩下的就是使用 remove_row_type() 函数,如评论中提到的@Daniel D. Sjoberg:

library(dplyr)
library(gtsummary)

df %>%
mutate(across(everything(), ~forcats::fct_explicit_na(.x))) %>%
mutate(year = trimws(year)) %>%
tbl_summary() %>%
remove_row_type(variables = c(grade, year),
type = "level", level_value = ("(Missing)"))

enter image description here

关于r - gtsummary::tbl_summary() 删除输出中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75525726/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com