カテゴリ型データ:分析と可視化

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
SAS ユーザーのための R

分割表:SAS と R

SAS の PROC FREQ と R の table 関数、gmodels の CrossTable

SAS ユーザーのための R

カイ二乗検定:SAS と R

SAS のカイ二乗検定コード、R の chisq.test、gmodels の CrossTable オプション

SAS ユーザーのための R

分割表とカイ二乗検定

# 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
SAS ユーザーのための R

gmodels パッケージでのカイ二乗検定

# 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))
SAS ユーザーのための R

CrossTable 出力 - パート1

   セル内容
|-------------------------|
|                       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 |           |
----------------|-----------|-----------|-----------|
SAS ユーザーのための R

CrossTable 出力 - パート2

gmodels::CrossTable() の出力(続き)

 

すべての因子の統計量

ピアソンのカイ二乗検定
------------------------------------------------------------
Chi^2 =  38.99402     d.f. =  1     p =  4.251066e-10

イェーツの連続性補正つきピアソンのカイ二乗検定
------------------------------------------------------------
Chi^2 =  36.75936     d.f. =  1     p =  1.336475e-09
SAS ユーザーのための R

モザイク図:SAS と R

SAS の PROC FREQ の TABLES 文の FREQPLOT オプションと R の mosaicplot 関数

SAS ユーザーのための R

2変量カテゴリ比率のモザイク図

 

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

daviskeep データの bmigt25 と sex のモザイク図

SAS ユーザーのための R

アワビのカテゴリ関連を探りましょう!

SAS ユーザーのための R

Preparing Video For Download...