Kategoriale Daten: analysieren und visualisieren

R für SAS-Anwender:innen

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Kategorien zusammenfassen

# Verwende table() innerhalb von with() für bmicat
daviskeep %>% with(table(bmicat))
bmicat
1. underwt/norm       2. overwt        3. obese
            161              35               3

Umkodierte Variable bmigt25 hinzufügen

# Füge eine weitere kategoriale Variable bmigt25 hinzu
daviskeep <- daviskeep %>%
  mutate(bmigt25 = ifelse(bmi > 25,
                          "2. overwt/obese",
                          "1. underwt/norm"))

# Zeige Häufigkeiten der bmigt25-Kategorien
daviskeep %>% with(table(bmigt25))
bmigt25
1. underwt/norm 2. overwt/obese
            161              38
R für SAS-Anwender:innen

Kontingenztafeln in SAS und R

sas proc freq und r table-funktion und crosstable aus dem gmodels-paket

R für SAS-Anwender:innen

Chi-Quadrat-Tests in SAS und R

sas proc freq und r-codes für chisq.test und gmodels crosstable-optionen

R für SAS-Anwender:innen

Kontingenztafel und Chi-Quadrat-Test

# Tabellenausgabe von bmigt25 nach Geschlecht speichern
tablebmisex <- daviskeep %>%
  with(table(bmigt25, sex))
tablebmisex
# Table-Objekt für chisq.test verwenden
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 für SAS-Anwender:innen

Chi-Quadrat-Tests mit dem gmodels-Paket

# gmodels-Paket laden
library(gmodels)
# gmodels::CrossTable ausführen, Spalten-% und erwartete Werte anzeigen
daviskeep %>%
  with(gmodels::CrossTable(bmigt25, sex,
                           chisq = TRUE,
                           prop.r = FALSE,
                           prop.t = FALSE,
                           prop.chisq = FALSE,
                           expected = TRUE))
R für SAS-Anwender:innen

CrossTable-Ausgabe – Teil 1

   Zelleninhalt
|-------------------------|
|                       N |
|              Erwartetes N |
|           N / Spaltensumme |
|-------------------------|

Gesamtbeobachtungen in der Tabelle:  199
                | sex
        bmigt25 |         F |         M | Zeilensumme |
----------------|-----------|-----------|-------------|
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 |             |
----------------|-----------|-----------|-------------|
   Spaltensumme |       111 |        88 |         199 |
                |     0.558 |     0.442 |             |
----------------|-----------|-----------|-------------|
R für SAS-Anwender:innen

CrossTable-Ausgabe – Teil 2

gmodels::CrossTable()-Ausgabe – Fortsetzung …

 

Statistiken für alle Tabellendimensionen

Pearson-Chi-Quadrat-Test
------------------------------------------------------------
Chi^2 =  38.99402     d.f. =  1     p =  4.251066e-10

Pearson-Chi-Quadrat-Test mit Yates-Kontinuitätskorrektur
------------------------------------------------------------
Chi^2 =  36.75936     d.f. =  1     p =  1.336475e-09
R für SAS-Anwender:innen

Mosaikdiagramme in SAS und R

sas proc freq freqplot-option für tables-anweisung und r-funktion mosaicplot

R für SAS-Anwender:innen

Mosaicplot für zweidimensionale kategoriale Anteile

 

# Erstelle ein mosaicplot von bmigt25 nach Geschlecht
mosaicplot(bmigt25 ~ sex,
           data = daviskeep,
           color = c("light blue",
                     "dark grey"),
           main =
             "BMI-Kategorien nach Geschlecht")

mosaicplot von bmigt25 und sex im daviskeep-datensatz

R für SAS-Anwender:innen

Erkunde kategoriale Zusammenhänge bei den Abalonen!

R für SAS-Anwender:innen

Preparing Video For Download...