Создание tbl_continuous с данными о весе с помощью gtsummary

Проблема:

Не могу найти способ создать tbl_continuous взвешенной числовой переменной. Я использую tbl_svysummary для создания таблиц категориальных переменных, но это бесполезно, когда я пытаюсь сделать то же самое с таблицами числовых переменных. Примечание. Я не ищу общее среднее значение моей числовой переменной, но разделяю или группирую категориальную переменную.

Пытаться:

Например, я создал эту таблицу с помощью функции tbl_continuous, которая делает именно то, что я хочу: среднее значение моей числовой переменной, но по уровням моей категориальной переменной. Единственная проблема в том, что я не могу вставить переменную веса в эту функцию.

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

```

table

Кроме того, я создавал взвешенные данные с помощью пакета srvyr следующим образом:

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

Можно добавить к решению.

Запрос:

Создайте такую ​​же таблицу (показанную на изображении), но с переменной веса. Моя переменная веса в моих данных называется 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

Вывод:

Дайте мне знать, если необходимо предоставить дополнительную информацию.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
0
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пакет gtsummary не экспортирует аналогичную функцию tbl_continuous() для данных опроса. Но вы можете построить таблицу. Пример ниже!

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)")

enter image description hereCreated on 2022-05-16 by the reprex package (v2.0.1)

Спасибо Даниил за ответ, я применю его к своей проблеме. Было бы здорово реализовать tbl_svycontinuous(), я думаю, это заполнило бы пробел в данных опроса. С уважением.

Santiago Sotelo 17.05.2022 18:23

он находится в списке для создания tbl_custom_svysummary() (tbl_custom_summary() поддерживает версию tbl_continuous()). Но на данный момент это не является приоритетом, и я понятия не имею, когда мы к этому приступим.

Daniel D. Sjoberg 17.05.2022 18:33

Другие вопросы по теме