Категоріальні дані: аналіз і візуалізація

R для користувачів SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Об'єднання категорій

# Використайте table() всередині with() для 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
R для користувачів SAS

Таблиці спряженості в SAS та R

proc freq у SAS, функція table в R і crosstable з пакета gmodels

R для користувачів SAS

Критерій χ-квадрат у SAS та R

proc freq у SAS і коди R для chisq.test та опції функції crosstable з пакета gmodels

R для користувачів SAS

Таблиця спряженості та критерій χ-квадрат

# Збережіть таблицю перетинів bmigt25 за статтю
tablebmisex <- daviskeep %>%
  with(table(bmigt25, sex))
tablebmisex
# Використайте об'єкт таблиці для запуску chisq.test
chisq.test(tablebmisex)
                 sex
bmigt25             F   M
  1. underwt/norm 107  54
  2. overwt/obese   4  34
Pearson's Chi-squared test with Yates'
continuity correction

data:  tablebmisex
X-squared = 36.759, df = 1, p-value = 1.336e-09
R для користувачів SAS

Критерій χ-квадрат із пакетом gmodels

# Завантажте пакет gmodels
library(gmodels)
# Запустіть gmodels::CrossTable, покажіть % стовпців та очікувані значення
daviskeep %>%
  with(gmodels::CrossTable(bmigt25, sex,
                           chisq = TRUE,
                           prop.r = FALSE,
                           prop.t = FALSE,
                           prop.chisq = FALSE,
                           expected = TRUE))
R для користувачів SAS

Вивід CrossTable — частина 1

   Вміст клітинок
|-------------------------|
|                       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 |               |
----------------|-----------|-----------|---------------|
R для користувачів SAS

Вивід CrossTable — частина 2

gmodels::CrossTable() — продовження…

 

Statistics for All Table Factors

Pearson's Chi-squared test
------------------------------------------------------------
Chi^2 =  38.99402     d.f. =  1     p =  4.251066e-10

Pearson's Chi-squared test with Yates' continuity correction
------------------------------------------------------------
Chi^2 =  36.75936     d.f. =  1     p =  1.336475e-09
R для користувачів SAS

Мозаїчні діаграми в SAS та R

опція freqplot у SAS proc freq для tables і функція mosaicplot у R

R для користувачів SAS

Mosaicplot для двофакторних категоріальних часток

 

# Створіть mosaicplot для bmigt25 за статтю
mosaicplot(bmigt25 ~ sex,
           data = daviskeep,
           color = c("light blue",
                     "dark grey"),
           main =
             "BMI Categories by Sex")

mosaicplot змінних bmigt25 і sex у наборі даних daviskeep

R для користувачів SAS

Дослідмо категоріальні зв'язки для абалонів!

R для користувачів SAS

Preparing Video For Download...