Dati categorici: analisi e visualizzazione

R per utenti SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Raggruppa categorie

# Usa table() dentro with() per bmicat
daviskeep %>% with(table(bmicat))
bmicat
1. underwt/norm       2. overwt        3. obese
            161              35               3

Aggiungi la variabile ricodificata bmigt25

# Aggiungi un'altra variabile categorica bmigt25
daviskeep <- daviskeep %>%
  mutate(bmigt25 = ifelse(bmi > 25,
                          "2. overwt/obese",
                          "1. underwt/norm"))

# Visualizza le frequenze per le categorie di bmigt25
daviskeep %>% with(table(bmigt25))
bmigt25
1. underwt/norm 2. overwt/obese
            161              38
R per utenti SAS

Tabelle di contingenza in SAS e R

tabelle di contingenza in SAS PROC FREQ, funzione table di R e CrossTable del pacchetto gmodels

R per utenti SAS

Test chi-quadrato in SAS e R

SAS PROC FREQ e codici R per chisq.test e opzioni della funzione CrossTable del pacchetto gmodels

R per utenti SAS

Tabella di contingenza e test chi-quadrato

# Salva l'output della tabella di bmigt25 per sesso
tablebmisex <- daviskeep %>%
  with(table(bmigt25, sex))
tablebmisex
# Usa l'oggetto tabella per eseguire chisq.test
chisq.test(tablebmisex)
                 sex
bmigt25             F   M
  1. underwt/norm 107  54
  2. overwt/obese   4  34
Test chi-quadrato di Pearson con
correzione di continuità di Yates

dati:  tablebmisex
X-squared = 36.759, g.l. = 1, p-value = 1.336e-09
R per utenti SAS

Test chi-quadrato con il pacchetto gmodels

# Carica il pacchetto gmodels
library(gmodels)
# Esegui gmodels::CrossTabs, mostra % per colonna e valori attesi
daviskeep %>%
  with(gmodels::CrossTable(bmigt25, sex,
                           chisq = TRUE,
                           prop.r = FALSE,
                           prop.t = FALSE,
                           prop.chisq = FALSE,
                           expected = TRUE))
R per utenti SAS

Output di CrossTable - parte 1

   Contenuto celle
|-------------------------|
|                       N |
|                 N atteso|
|           N / Tot colonna|
|-------------------------|

Osservazioni totali nella tabella:  199
                | sex
        bmigt25 |         F |         M | Tot riga |
----------------|-----------|-----------|----------|
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 |          |
----------------|-----------|-----------|----------|
   Tot colonna  |       111 |        88 |      199 |
                |     0.558 |     0.442 |          |
----------------|-----------|-----------|----------|
R per utenti SAS

Output di CrossTable - parte 2

Output di gmodels::CrossTable() - continua...

 

Statistiche per tutti i fattori della tabella

Test chi-quadrato di Pearson
------------------------------------------------------------
Chi^2 =  38.99402     g.l. =  1     p =  4.251066e-10

Test chi-quadrato di Pearson con correzione di continuità di Yates
------------------------------------------------------------
Chi^2 =  36.75936     g.l. =  1     p =  1.336475e-09
R per utenti SAS

Grafici a mosaico in SAS e R

opzione freqplot di SAS PROC FREQ per l'istruzione tables e funzione mosaicplot di R

R per utenti SAS

Mosaicplot di proporzioni categoriche a doppia entrata

 

# Crea un mosaicplot di bmigt25 per sesso
mosaicplot(bmigt25 ~ sex,
           data = daviskeep,
           color = c("light blue",
                     "dark grey"),
           main =
             "Categorie BMI per sesso")

mosaicplot di bmigt25 e sex del dataset daviskeep

R per utenti SAS

Esploriamo le associazioni categoriche per gli abaloni!

R per utenti SAS

Preparing Video For Download...