Statistiken und Tabellen Referat am 4.12.2006 von Maria Wieländer
Gliederung Datensatz Statistiken Tabellen Vergleich mit Excel Zusammenfassung
Datensatz Amerikanische DNNB – Umfrage von 1998 Religiosität von Personen verschiedener Schichten Kategorien: Häufigkeit der Kirchenbesuche Fundamentalismus als Gefahr Bedeutung von Religion im eigenen Leben Alter Kinder Stadt – Land Bildung Bildung des Ehepartners Region der Umfrage Einkommen
Arbeiten mit dem Datensatz Datensatz in R laden: „File -> Load Datafile“ >BowlAl1998 <- read.table("C:/Dokumente und Einstellungen/Maria/Desktop/Testprogramme/BowlAl1998.txt",header=T,sep="\t", quote="");attach(BowlAl1998) Zuordnen von Abkürzungen: > C<-CHURCH > A<-AGE > CHI<-CHILDREN > E<-EDUC
Kritik Wenn „attach“ nicht aktiviert ist, ist es sehr kompliziert, mit dem Datensatz in R zu arbeiten (C<-BowlAl1998$CHURCH)
Statistiken
Arithmetisches Mittel Allgemein: > t<-c(7,8,4,1,5,0,9,8,9,3) > mean(t) [1] 5.4 Datensatz: > mean(A) [1] 47.80149
Median 50% der Werte liegen unterhalb des Medians und 50% der Werte oberhalb Allgemein: > w<-c(4,6,2,8,0,9,7,3,4,4) > median(w) [1] 4 Datensatz: > median(A) [1] 45
Minimum und Maximum Allgemein: > min(4,4,7,3,3,8,9,1,6,9) [1] 1 [1] 9 > range(4,4,7,3,3,8,9,1,6,9) [1] 1 9 Datensatz: > min(A) [1] 18 > max(A) [1] 92 > range(A) [1] 18 92
Quantile Allgemein: > p<-c(2,4,6,7,9,8,1,4,7,8) Datensatz: > quantile(p,0.25) 25% 4 > quantile(p,0.75) 75% 7.75 Datensatz: > quantile(A,0.25) 25% 35 > quantile(A,0.75) 75% 60
Standardabweichung Allgemein: > u<-c(4,6,3,6,3,1,9,0,7,4) > sd(u) [1] 2.750757 Datensatz: > sd(A) [1] 16.02099
Varianz Allgemein: > e<-c(5,3,6,9,2,1,6,8,4,6) > var(e) [1] 6.444444 Datensatz: > var(A) [1] 256.6721
Einfacher Allgemein: > d<-c(4,8,4,1,4,2,9,0,5,4) > summary(d) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 2.50 4.00 4.10 4.75 9.00 Datensatz: > summary(A) Min. 1st Qu. Median Mean 3rd Qu. Max 18.0 35.0 45.0 47.8 60.0 92.0
Statistiken nach Klassen Datensatz: >tapply(A,C,mean) 1 2 3 4 5 6 7 46.57705 45.22013 46.50435 45.39683 46.89224 48.78851 51.25721 >tapply(A,C,median) 1 2 3 4 5 6 7 44.0 44.0 43.0 43.0 46.0 46.0 49.5
tapply(A,C,summary) $`1` Min. 1st Qu. Median Mean 3rd Qu. Max. 19.00 34.00 44.00 46.58 57.00 92.00 $`2` Min. 1st Qu. Median Mean 3rd Qu. Max. 19.00 33.00 44.00 45.22 55.00 91.00 $`3` Min. 1st Qu. Median Mean 3rd Qu. Max. 20.0 34.0 43.0 46.5 60.0 83.0 $`4 Min. 1st Qu. Median Mean 3rd Qu. Max. 20.0 32.0 43.0 45.4 56.0 80.0 $`5` Min. 1st Qu. Median Mean 3rd Qu. Max. 20.00 33.00 46.00 46.89 59.00 87.00 $`6` Min. 1st Qu. Median Mean 3rd Qu. Max. 20.00 36.00 46.00 48.79 62.00 90.00 $`7` 18.00 38.00 49.50 51.26 66.00 86.00
Auswertung Positives: Kritik: Schnelle Ergebnisse auch bei großen Datensätzen Kritik: Viele Befehle nicht leicht zu erschließen, Handbuch wäre nötig „c“ nötig bei per Hand eingegebenen Zahlen (z.B. mean(c(1,2,3,4)) statt mean(1,2,3,4)) Unübersichtliches Layout
Tabellen
Tabellen mit einer Variablen Kirchenbesuche: > table(C) C 1 2 3 4 5 6 7 915 477 230 189 232 435 832 Alter: > table(A) A 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1 7 16 23 36 37 34 41 49 71 67 64 61 79 64 92 70 76 59 84 89 67 82 77 89 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 87 92 63 67 67 78 61 74 64 41 60 55 57 41 45 54 42 55 42 42 32 27 55 47 49 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 38 53 40 56 49 38 43 34 29 32 17 17 15 14 13 8 7 3 2 2 2 2 1 2 1
Tabellen mit zwei Variablen Kirchenbesuche und Bildung: > table(C,E) E C 1 2 3 4 5 6 1 24 73 330 269 116 98 2 7 22 164 148 61 72 3 3 9 67 90 36 25 4 2 11 63 68 20 25 5 1 14 60 88 29 40 6 6 21 134 114 82 78 7 10 36 247 255 134 149
Alter und Kirchenbesuche: > table(A,C) C A 1 2 3 4 5 6 7 18 0 0 0 0 0 0 1 19 1 5 0 0 0 0 1 20 2 4 2 1 2 1 4 21 11 3 0 3 0 2 3 22 8 6 1 2 4 5 10 23 9 7 3 4 3 4 6 24 10 3 8 2 4 3 4 25 17 4 6 3 4 5 2 26 20 12 1 4 3 2 7 27 16 16 6 5 6 8 13 28 25 7 3 7 6 10 9 29 19 6 3 3 9 13 10 30 14 14 3 4 2 9 15 31 21 15 7 5 5 8 16 32 21 11 3 6 5 6 11 33 30 14 7 3 10 14 14 34 15 11 11 2 6 6 19 35 17 15 5 5 5 9 19 36 16 9 5 4 5 11 9 37 23 12 8 3 6 13 19 38 26 10 3 7 2 14 25
Bilden von Klassen Ermitteln von Minimum und Maximum: > range(A) [1] 18 92 Klasseneinteilung: > table(cut(A,breaks=c(17,25,35,40,50,60,70,80,92))) (17,25] (25,35] (35,40] (40,50] (50,60] (60,70] (70,80] (80,92] 195 693 381 755 514 425 330 57
Tabellen mit drei Variablen Kinder, Kirchenbesuch, Bildung > table(C,E,CHI) , , CHI = 0 E C 1 2 3 4 5 6 1 19 39 180 149 86 73 2 3 10 79 85 37 44 3 2 3 31 49 22 15 4 2 2 34 28 13 10 5 1 10 33 43 9 21 6 3 17 81 57 35 36 7 6 25 153 125 70 83 , , CHI = 1 E C 1 2 3 4 5 6 1 4 34 147 117 30 24 2 4 12 85 62 24 28 3 1 6 35 40 14 9 4 0 9 29 40 7 15 5 0 4 27 44 20 19 6 2 4 52 55 47 42 7 4 11 93 126 64 66
Fehlende Werte im Datensatz Summe der fehlenden Werte: > fC<-is.na(C) > sum(fC) [1] 40 Tabelle mit den fehlenden Werten: > ftC<-table(C,exclude=0) > ftC C 1 2 3 4 5 6 7 <NA> 915 477 230 189 232 435 832 40
Prozentangaben Kirchenbesuche: In Prozent: > pC<-100*tC/sum(tC) > tC<-table(C) > tC C 1 2 3 4 5 6 7 915 477 230 189 232 435 832 In Prozent: > pC<-100*tC/sum(tC) > pC 1 2 3 4 5 6 7 27.643505 14.410876 6.948640 5.709970 7.009063 13.141994 25.135952 Gerundet: > round(pC,2) 1 2 3 4 5 6 7 27.64 14.41 6.95 5.71 7.01 13.14 25.14
Zusammenfügen der Tabellen: > tt<-rbind(tC,pC) 1 2 3 4 5 6 7 tC 915.00 477.00 230.00 189.00 232.00 435.00 832.00 pC 27.64 14.41 6.95 5.71 7.01 13.14 25.14
Tabellen in Prozent: >t<- table(C,E) >t E C 1 2 3 4 5 6 1 24 73 330 269 116 98 2 7 22 164 148 61 72 3 3 9 67 90 36 25 4 2 11 63 68 20 25 5 1 14 60 88 29 40 6 6 21 134 114 82 78 7 10 36 247 255 134 149 > pt<-round(100*t/sum(t),2) > pt E C 1 2 3 4 5 6 1 0.73 2.21 10.00 8.15 3.51 2.97 2 0.21 0.67 4.97 4.48 1.85 2.18 3 0.09 0.27 2.03 2.73 1.09 0.76 4 0.06 0.33 1.91 2.06 0.61 0.76 5 0.03 0.42 1.82 2.67 0.88 1.21 6 0.18 0.64 4.06 3.45 2.48 2.36 7 0.30 1.09 7.48 7.72 4.06 4.51
Zeilen- und Spaltensummen Tabelle: > t<-table(C,E) > t E C 1 2 3 4 5 6 1 24 73 330 269 116 98 2 7 22 164 148 61 72 3 3 9 67 90 36 25 4 2 11 63 68 20 25 5 1 14 60 88 29 40 6 6 21 134 114 82 78 7 10 36 247 255 134 149 Tabelle mit fehlenden Werten: > ee<-table(C,E,exclude=c(0)) > ee E C 1 2 3 4 5 6 <NA> 1 24 73 330 269 116 98 5 2 7 22 164 148 61 72 3 3 3 9 67 90 36 25 0 4 2 11 63 68 20 25 0 5 1 14 60 88 29 40 0 6 6 21 134 114 82 78 0 7 10 36 247 255 134 149 1 <NA> 1 0 13 19 2 4 1
Anfügen der Gesamtsumme: Zeilensumme: > l<-table(C,exclude=0) > l C 1 2 3 4 5 6 7 <NA> 915 477 230 189 232 435 832 40 Spaltensumme: > e<-table(E,exclude=0) > e E 1 2 3 4 5 6 <NA> 54 186 1078 1051 480 491 10 Gesamtsumme: > s<-sum(e) > s [1] 3350 Anfügen der Gesamtsumme: > gs<-c(e,s) > gs 1 2 3 4 5 6 <NA> 54 186 1078 1051 480 491 10 3350
Anfügen der Zeilensummen: Anfügen derSpaltensummen: > v<-cbind(ee,l) > v 1 2 3 4 5 6 <NA> l 1 24 73 330 269 116 98 5 915 2 7 22 164 148 61 72 3 477 3 3 9 67 90 36 25 0 230 4 2 11 63 68 20 25 0 189 5 1 14 60 88 29 40 0 232 6 6 21 134 114 82 78 0 435 7 10 36 247 255 134 149 1 832 <NA> 1 0 13 19 2 4 1 40 Anfügen derSpaltensummen: > w<-rbind(v,gs) > w 1 2 3 4 5 6 <NA> l 1 24 73 330 269 116 98 5 915 2 7 22 164 148 61 72 3 477 3 3 9 67 90 36 25 0 230 4 2 11 63 68 20 25 0 189 5 1 14 60 88 29 40 0 232 6 6 21 134 114 82 78 0 435 7 10 36 247 255 134 149 1 832 <NA> 1 0 13 19 2 4 1 40 gs 54 186 1078 1051 480 491 10 3350
Auswertung Positives: Kritik: einfache Tabellen können schnell erstellt werden Kritik: gerade bei großen Tabellen unübersichtlich, da keine Linien Tabellen mit Klassenbildung zu aufwändig fehlende Daten tauchen nur bei gesondertem Befehl auf kein expliziter Befehl für Prozentangaben Bildung von Tabellen mit angefügten Zeilen- und Spaltensummen sehr umständlich
Vergleich mit Excel
Laden des Datensatzes in Excel
Auswählen der Funktion Statistiken Auswählen der Funktion
Angeben des Datenbereiches
Alternativ
Ergebnis
Erstellen von Tabellen Einfügen von Einsern
Tabellenfunktion
Auswählen der Kategorien und Ziehen von x in den Datenfelderbereich
Tabelle
Auswertung Befehle für Statistiken in Excel leichter zu finden, da schon vorgegeben Aber Excel gibt nur das Ergebnis zurück, ohne konkrete Benennung Summary - Funktion in R nützlich Tabellen in Excel einfacher zu erstellen und übersichtlicher, aber wenn Einser nicht eingefügt, werden nicht immer alle Werte berücksichtigt
Fazit Positives: Kritik: Einsatz von R bei großen Datensätzen sinnvoll Besonders bei Statistiken hilfreich Kritik: R für Tabellen weniger geeignet Befehle müssen den Schülern vorgegeben werden Handbuch mit den für die Schule wichtigen Befehlen nötig