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 を追加
# もう1つのカテゴリ変数 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
イェーツの連続性補正つき
ピアソンのカイ二乗検定
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 / 列合計比率 |
|-------------------------|
表の総観測数: 199
| sex
bmigt25 | F | M | Row Total |
----------------|-----------|-----------|-----------|
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 | |
----------------|-----------|-----------|-----------|
Column Total | 111 | 88 | 199 |
| 0.558 | 0.442 | |
----------------|-----------|-----------|-----------|
gmodels::CrossTable() の出力(続き)
すべての因子の統計量
ピアソンのカイ二乗検定
------------------------------------------------------------
Chi^2 = 38.99402 d.f. = 1 p = 4.251066e-10
イェーツの連続性補正つきピアソンのカイ二乗検定
------------------------------------------------------------
Chi^2 = 36.75936 d.f. = 1 p = 1.336475e-09

# sex 別の bmigt25 でモザイク図
mosaicplot(bmigt25 ~ sex,
data = daviskeep,
color = c("light blue",
"dark grey"),
main =
"性別別のBMIカテゴリ")

SAS ユーザーのための R