그룹별로 요약 테이블을 분할 할 때 열에 레이블을 지정하고 그룹 크기를 유지하는 방법은 무엇입니까?

matr

그룹별로 분할 된 요약 테이블을 만들 때 각 그룹의 크기가 해당 열의 상단에 자동으로 표시됩니다. 따라서 열 제목은 다음과 같습니다. 특성 | 1, N = 100 | 2, N = 120. 아래 코드 :

library(dplyr)
library(gtsummary)

data %>% 
  select(group, age, sex) %>%
  tbl_summary(by = group)

그러나 "1"과 "2"보다 더 의미있는 이름으로 그룹 이름을 지정하고 싶습니다. 예를 들어 내 데이터가 수영 클래스의 어린이로 구성된 경우 수영 클래스 이름 인 오리와 거북이로 그룹 이름을 지정하려고합니다. 그래서 다음과 같이합니다.

library(dplyr)
library(gtsummary)

data %>% 
  select(group, age, sex) %>%
  tbl_summary(by = group) %>%
   modify_header(
    update = list(
      stat_1 ~ "**Ducks**",
      stat_2 ~ "**Turtles**")) 
  modify_spanning_header(
    update = starts_with("stat_") ~ "Swim Class Name") 

작동합니다! 그러나 각 그룹의 크기는 해당 열의 상단에서 사라집니다. 내 해결 방법은 이름의 일부로 각 그룹의 크기를 수동으로 추가하는 것입니다. 추가하기 전에 각 그룹의 N을 확인하기 위해 약간의 메모를 남겨야합니다. 다음과 같이하십시오.

library(dplyr)
library(gtsummary)

data %>% 
  select(group, age, sex) %>%
  tbl_summary(by = group) %>%
   modify_header(
    update = list(
      stat_1 ~ "**Ducks**, N = 100",
      stat_2 ~ "**Turtles**, N = 120")) %>% # to check the N for each group, remove this to see default appearance which shows the N
  modify_spanning_header(
    update = starts_with("stat_") ~ "Swim Class Name") 

이것은 작동하지만 번호를 다시 확인한 다음 수동으로 추가해야하므로 오류가 발생하기 쉽습니다.

각 그룹을 나타내는 열에 레이블을 지정하고 요약 테이블을 그룹별로 분할 할 때 그룹 크기를 나타내는 숫자를 유지하려면 어떻게합니까?

Daniel D. Sjoberg

이를 수행하는 방법에는 두 가지가 있습니다.

첫 번째는 데이터 프레임을에 전달하기 전에 데이터 프레임의 레벨을 변경하는 것입니다 tbl_summary(). 그러면 기본 열 머리글에는 기본적으로 올바른 N이있는 사용자 지정 머리글이 있습니다.

두 번째는에서 사용할 수있는 동적 통계를 활용하는 것 modify_header()입니다. 당신이있을 때 tbl_summary(by=)변수에 의해 객체 분할, 당신은에 액세스 할 수 있습니다 {n}, {N}, {p}, 그리고 그들은 열 머리글에 배치 할 수 있습니다. 자세한 내용은 도움말 파일을 검토하십시오. http://www.danieldsjoberg.com/gtsummary/reference/modify.html (이 코드가 작동하려면 gtsummary v1.3.6이 필요합니다.)

두 방법 모두 동일한 테이블로 이어집니다.

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

# Method 1: Change the underlying data before passing df to `tbl_summary()`
tbl1 <-
  trial %>%
  select(trt, age) %>%
  mutate(trt = factor(trt, labels = c("Duck", "Turtle"))) %>%
  tbl_summary(by = trt, missing = "no")

# Method 2: Use the dynamic stats available in `modify_header()`
tbl2 <-
  trial %>%
  select(trt, age) %>%
  tbl_summary(by = trt, missing = "no") %>%
  modify_header(list(
    stat_1 ~ "**Duck**, N = {n}",
    stat_2 ~ "**Turtle**, N = {n}"
  ))

reprex 패키지 (v0.3.0)에 의해 2021-01-18에 생성됨

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관