SAS 사용자를 위한 R
Melinda Higgins, PhD
Research Professor/Senior Biostatistician Emory University
# Use table() inside with() for bmicat
daviskeep %>% with(table(bmicat))
bmicat
1. underwt/norm 2. overwt 3. obese
161 35 3
재코딩 변수 bmigt25 추가
# 범주형 변수 bmigt25 추가
daviskeep <- daviskeep %>%
mutate(bmigt25 = ifelse(bmi > 25,
"2. overwt/obese",
"1. underwt/norm"))
# bmigt25 범주 빈도 확인
daviskeep %>% with(table(bmigt25))
bmigt25
1. underwt/norm 2. overwt/obese
161 38


# Save table output of bmigt25 by sex
tablebmisex <- daviskeep %>%
with(table(bmigt25, sex))
tablebmisex
# Use table object to run chisq.test
chisq.test(tablebmisex)
sex
bmigt25 F M
1. underwt/norm 107 54
2. overwt/obese 4 34
Yates 연속성 보정을 적용한 피어슨 카이제곱 검정
data: tablebmisex
X-squared = 36.759, df = 1, p-value = 1.336e-09
# Load gmodel package
library(gmodels)
# Run gmodels::CrossTabs, show column %s and expected values
daviskeep %>%
with(gmodels::CrossTable(bmigt25, sex,
chisq = TRUE,
prop.r = FALSE,
prop.t = FALSE,
prop.chisq = FALSE,
expected = TRUE))
셀 내용
|-------------------------|
| N |
| 기대 빈도 N |
| N / 열 합계 |
|-------------------------|
표의 전체 관측치: 199
| sex
bmigt25 | F | M | 행 합계 |
----------------|-----------|-----------|-----------|
1. underwt/norm | 107 | 54 | 161 |
| 89.804 | 71.196 | |
| 0.964 | 0.614 | |
----------------|-----------|-----------|-----------|
2. overwt/obese | 4 | 34 | 38 |
| 21.196 | 16.804 | |
| 0.036 | 0.386 | |
----------------|-----------|-----------|-----------|
열 합계 | 111 | 88 | 199 |
| 0.558 | 0.442 | |
----------------|-----------|-----------|-----------|
gmodels::CrossTable() 출력 - 계속...
모든 요인에 대한 통계
피어슨 카이제곱 검정
------------------------------------------------------------
Chi^2 = 38.99402 d.f. = 1 p = 4.251066e-10
연속성 보정(Yates) 적용 피어슨 카이제곱 검정
------------------------------------------------------------
Chi^2 = 36.75936 d.f. = 1 p = 1.336475e-09

# 성별별 bmigt25 모자이크 플롯mosaicplot(bmigt25 ~ sex,
data = daviskeep,
color = c("light blue",
"dark grey"),
main =
"BMI Categories by Sex")

SAS 사용자를 위한 R