使用 gtsummary 创建一个包含权重数据的 tbl_continuous

Creating a tbl_continuous with weight data using gtsummary

问题:

无法找到创建 tbl_continuous 加权数值变量的方法。我正在使用 tbl_svysummary 创建我的分类变量 tables,但是当我尝试对数值变量 tables 做同样的事情时它没有用。注意:我不是在寻找数字变量的一般平均值,而是按分类变量分隔或分组。

尝试:

例如,我在函数 tbl_continuous 的帮助下创建了这个 table,它正是我想要的:我的数字变量的平均值,但由我的分类变量的水平.唯一的问题是我无法在此函数中插入权重变量。

```{r}
base2 %>% 
  as_label() %>% 
  select(ing_cap, ano, nacional, dominio) %>% 
  tbl_continuous(variable = ing_cap, 
                 by = ano,
                 statistic = list(everything() ~ "{median}"))

```

此外,我一直在通过以下方式使用 srvyr 包创建加权数据:

base2 %>% 
  labelled::drop_unused_value_labels() %>% 
  as_label() %>% 
  as_survey_design(weight = fac500a)

可以添加到解决方案中。

要求:

创建相同的 table(如图所示),但使用权重变量。我的数据中的权重变量称为 fac500a.

我的数据:

我的数据可以从我的 github 存储库下载并且具有以下尺寸:

> dim(base2)
[1] 108103     44

https://github.com/aito123/quarto_blog/raw/master/posts/tablas_tesis/base2.sav

(dput 输出很长)

我当前的包裹:

目前我正在使用这个 r 包:tidyverse, srvyr, gtsummary, sjlabelled, haven

结论:

如果需要提供更多信息,请告诉我。

gtsummary 包不会为调查数据导出 tbl_continuous() 的类似函数。但是你可以构造table。示例如下!

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.6.0'

svy_trial <- survey::svydesign(ids = ~1, data = trial, weights = ~1)

tbl <- 
  svy_trial %>%
  tbl_strata2(
    strata = grade,
    ~ .x %>%
      tbl_svysummary(
        by = trt, 
        include = age, 
        missing = "no",
        label = list(age = .y)
      ) %>%
      modify_header(all_stat_cols() ~ "**{level}**"),
    .combine_with = "tbl_stack",
    .combine_args = list(group_header = NULL)
  ) %>%
  modify_table_body(
    ~ .x %>%
      mutate(variable = "grade", row_type = "level") %>%
      tibble::add_row(
        row_type = "label",
        variable = "grade",
        label = "Grade",
        .before = 1L
      ) 
  ) %>%
  modify_column_indent(columns = label, rows = row_type == "level") %>%
  bold_labels() %>%
  modify_spanning_header(all_stat_cols() ~ "**Treatment**") %>%
  modify_footnote(all_stat_cols() ~ "Age: Median (IQR)")

reprex package (v2.0.1)

创建于 2022-05-16