Data kategorikal: analisis dan visualisasi

R untuk Pengguna SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Gabungkan kategori

# Gunakan table() di dalam with() untuk bmicat
daviskeep %>% with(table(bmicat))
bmicat
1. underwt/norm       2. overwt        3. obese
            161              35               3

Tambahkan variabel rekode bmigt25

# Tambah satu variabel kategorikal lagi: bmigt25
daviskeep <- daviskeep %>%
  mutate(bmigt25 = ifelse(bmi > 25,
                          "2. overwt/obese",
                          "1. underwt/norm"))

# Lihat frekuensi kategori bmigt25
daviskeep %>% with(table(bmigt25))
bmigt25
1. underwt/norm 2. overwt/obese
            161              38
R untuk Pengguna SAS

Tabel kontingensi di SAS dan R

SAS PROC FREQ dan fungsi table R serta gmodels::CrossTable

R untuk Pengguna SAS

Uji chi-square di SAS dan R

SAS PROC FREQ dan kode R untuk chisq.test serta opsi gmodels::CrossTable

R untuk Pengguna SAS

Tabel kontingensi dan uji chi-square

# Simpan keluaran tabel bmigt25 menurut sex
tablebmisex <- daviskeep %>%
  with(table(bmigt25, sex))
tablebmisex
# Gunakan objek table untuk menjalankan chisq.test
chisq.test(tablebmisex)
                 sex
bmigt25             F   M
  1. underwt/norm 107  54
  2. overwt/obese   4  34
Uji chi-kuadrat Pearson dengan
koreksi kontinuitas Yates

data:  tablebmisex
X-squared = 36.759, df = 1, p-value = 1.336e-09
R untuk Pengguna SAS

Uji chi-square dengan paket gmodels

# Muat paket gmodels
library(gmodels)
# Jalankan gmodels::CrossTable, tampilkan % kolom dan nilai harapan
daviskeep %>%
  with(gmodels::CrossTable(bmigt25, sex,
                           chisq = TRUE,
                           prop.r = FALSE,
                           prop.t = FALSE,
                           prop.chisq = FALSE,
                           expected = TRUE))
R untuk Pengguna SAS

Keluaran CrossTable - bagian 1

   Isi Sel
|-------------------------|
|                       N |
|                N Harap |
|           N / Total Kol |
|-------------------------|

Total Observasi di Tabel:  199
                | sex
        bmigt25 |         F |         M | Total Baris |
----------------|-----------|-----------|-------------|
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 |             |
----------------|-----------|-----------|-------------|
   Total Kolom  |       111 |        88 |         199 |
                |     0.558 |     0.442 |             |
----------------|-----------|-----------|-------------|
R untuk Pengguna SAS

Keluaran CrossTable - bagian 2

gmodels::CrossTable() keluaran - lanjut...

 

Statistik untuk Semua Faktor Tabel

Uji chi-kuadrat Pearson
------------------------------------------------------------
Chi^2 =  38.99402     d.f. =  1     p =  4.251066e-10

Uji chi-kuadrat Pearson dengan koreksi kontinuitas Yates
------------------------------------------------------------
Chi^2 =  36.75936     d.f. =  1     p =  1.336475e-09
R untuk Pengguna SAS

Plot mosaik di SAS dan R

opsi freqplot pada SAS PROC FREQ dan fungsi mosaicplot di R

R untuk Pengguna SAS

Mosaicplot proporsi kategorikal dua arah

 

# Buat mosaicplot bmigt25 menurut sex
mosaicplot(bmigt25 ~ sex,
           data = daviskeep,
           color = c("light blue",
                     "dark grey"),
           main =
             "Kategori BMI menurut Jenis Kelamin")

mosaicplot bmigt25 dan sex pada dataset daviskeep

R untuk Pengguna SAS

Mari jelajahi asosiasi kategorikal pada abalon!

R untuk Pengguna SAS

Preparing Video For Download...