Angabe - Institut für Statistik

Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Allgmeine Hinweise
Die Hausübung umfasst 6 Aufgaben mit insgesamt 90 Punkten.
Erstellen Sie eine R Skript-Datei mit Ihrer Matrikelnummer als Dateinamen. Diese Datei enthält Ihren
vollständigen und mit erklärenden Kommentaren ausgestatteten Lösungsweg.
Ihre persönlichen Angaben und Ihr abgegebener R-Code werden automatisch ausgelesen und ausgewertet.
Beachten Sie deshalb unbedingt die folgende Richtlinien:
• Beginnen Sie eine Aufgabe mit
### Aufgabe 1
• Beginnen Sie eine Teilaufgabe mit
## Aufgabe 1.1
• Trennen Sie einzelne Aufgaben durch die Zeile
#===============================================================================
• Trennen Sie einzelne Teilaufgaben durch die Zeile
#------------------------------------------------------------------------------• Kennzeichnen Sie Ihre Kommentare mit
# Kommentar (auch ueber mehrere Zeilen)
# noch eine Kommentarzeile
• Verwenden Sie in Ihren Kommentaren einfache Anführungsstriche um auf Objekte in R Bezug zu
nehmen, z.B.
# Das Argument 'header' der Funktion 'read.table()' ...
• Nicht beabsichtigte Fehlermeldung aufgrund von fehlerhaftem Programm-Code, führen zu
Punktverlust.
• Schreiben Sie in die erste Zeile der Datei in einem Kommentar Ihre Matrikelnummer
sowie Ihren Vor- und Nachnamen.
• Schreiben Sie in die zweite Zeile der Datei in einem Kommentar, ob sie mit einer Veröffentlichung
in der Form
<Matrikelnummer>, <Note> als Aushang im Schaukasten im 1. OG des Instituts für Statistik
einverstanden sind; ein Fehlen wird als nicht einverstanden aufgefasst.
Ihre Abgaben werden untereinander auf Ähnlichkeiten überprüft. Bei zu großer Übereinstimmung kommt
es zu einem Nachgespräch mit den jeweils Betroffenen.
Gruppenabgaben sind nicht erlaubt!
Abgabe:
Schicken Sie Ihre R Skript-Datei mit Betreff “statsoft16 R” bis spätestens 05. August 2016 23:59 per
E-Mail nur an [email protected].
Damit das Ergebnis der Hausarbeit auch Ihnen zugeschrieben werden kann, geben Sie in der E-Mail bitte
auch Ihren Vor- und Nachnamen, Ihre Matrikelnummer und Ihre Prüfungsordnung mit an.
Weitere abgegebene Dateien (Grafiken, Bericht, etc) werden nicht berücksichtigt.
Achten Sie darauf, dass Ihr Code auch ausführbar ist.
1
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Aufgabe 1
16 Punkte
1. Was unterscheidet die beiden Objekttypen character und factor inhaltlich voneinander?
2. Erklären Sie den Unterschied zwischen den Zugriffen mit [] und [[]] auf einen data.frame. Worauf
begründet sich dieser Unterschied?
3. Welches Phänomen können Sie hier beobachten? Geben Sie ein weiteres Beispiel und erklären Sie
genau, was hier passiert.
matrix(0, ncol = 3, nrow = 2)
4. Wie unterscheiden sich Skalare und Vektoren in R?
5. Welche beiden grundlegenden Dateiformate haben Sie in der Veranstaltung kennengelernt? Was
müssen Sie jeweils beim Einlesen in R beachten?
6. Worin unterscheiden sich data.frame-Objekte und matrix-Objekte inhaltlich voneinander?
7. Geben Sie ein Beispiel, in dem der Unterschied zwischen den logischen Operatoren & und && deutlich
wird.
8. Erklären Sie kurz das Zustandekommen und eventuelle Besonderheiten der Outputs folgender Ausdrücke:
(a) typeof(factor("a"))
(b) is.logical(c("TRUE", "TRUE", "TRUE", "FALSE"))
(c) strsplit("Heute.ist.ein.schoener.Tag.!", ".")
2
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Aufgabe 2
16 Punkte
1. Erläutern Sie kurz die nachfolgenden Warn- und Fehlermeldungen und reproduzieren Sie diese
exakt. Benennen Sie also auch alle Objekte wie vorgegeben. Damit Ihr Skript weiterhin komplett
ausführbar ist, schreiben Sie Ihre Reproduktionen jeweils in Kommentare.
Geben Sie anhand eines kleinen selbst gewählten Beispiels einen Weg an, wie die jeweilige Warnbzw. Fehlermeldung behoben werden kann.
Damit es nicht auf die Spracheinstellungen Ihrer R Version ankommt, sind die Meldungen sowohl
auf Deutsch, als auch auf Englisch angegeben.
(a) Fehler in seq.default(4, -4, by = 1) : falsches Vorzeichen im ’by’ Argument
Error in seq.default(4, -4, by = 1) : wrong sign in ’by’ argument
(b) Fehler in sample.int(length(x), size, replace, prob) : kann keine Stichprobe größer
als die Grundgesamtheit nehmen wenn ’replace = FALSE’
Error in sample.int(length(x), size, replace, prob) : cannot take a sample larger
than the population when ’replace = FALSE’
(c) Warnmeldung: In 1:2 * 1:3 : Länge des längeren Objektes ist kein Vielfaches der
Länge des kürzeren Objektes
Warning message: In 1:2 * 1:3 : longer object length is not a multiple of shorter
object length
(d) Warnmeldung: NAs durch Umwandlung erzeugt
Warning message: NAs introduced by coercion
(e) Warnmeldung: In mean.default(rep(c("a", "b", "a"))) : Argument ist weder numerisch
noch boolesch: gebe NA zurück
Warning message: In mean.default(rep(c("a", "b", "a"))) : argument is not numeric
or logical: returning NA
3
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
2. Antworten Sie mit Begründung nur anhand des abgebildeten R-Codes und Outputs auf die darauf
folgenden Fragen.
sd <- 4
Gruppe1 <- rnorm(100, 0, sd = sd)
Gruppe2 <- rnorm(50, 2, sd = sd)
t.test(Gruppe1, Gruppe2, alternative = "two.sided", var.equal = TRUE)
Two Sample t-test
data: Gruppe1 and Gruppe2
t = -1.2485, df = 148, p-value = 0.2138
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-2.4980747 0.5636906
sample estimates:
mean of x mean of y
0.9807888 1.9479808
(a) Welchen Verteilungen folgen die Beobachungen in den beiden Gruppen?
(b) Welcher Test wird hier durchgeführt? Geben Sie die Hypothesen an und welche Annahme(n)
über die Varianzen getroffen werden.
(c) Interpretieren Sie die letzte Zeile des Outputs.
(d) Wie lautet die Testentscheidung?
(e) Erstellen Sie eine Grafik, welche die Dichte der wahren Verteilung der Teststatistik unter der
Nullhypothese H0 abbildet. Beschriften Sie die Grafik in geeigneter Weise. (Hinweis: Verwenden Sie den Befehl curve(). Die x-Achse soll den Bereich von -5 bis 5 umfassen.)
4
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Aufgabe 3
15 Punkte
Bearbeiten Sie die folgenden Aufgaben ausschließlich mit R. Dies bedeutet, dass Sie nur die hier in den
Aufgabenstellungen verwendeten Zahlen explizit eingeben dürfen; alle anderen benötigten Zahlenwerte
sind direkt mit R zu berechnen!
Es handelt sich hierbei um Aufgaben aus der Veranstaltung Einführung in die induktive Statistik und in
die Wahrscheinlichkeitsrechnung im Sommesemester 2016 https://www.elab.moodle.elearning.lmu.
de/course/view.php?id=1020. Da Sie die Aufgaben nur mit R lösen müssen, brauchen Sie sich nicht an
den dort vorgeschlagenen Lösungsweg halten.
Das Ergebnis jeder Teilaufgaben soll jeweils ein R-Objekt sein, dessen geforderter Typ in eckigen Klammern direkt hinter der Aufgabenstellung steht.
1. In Anlehnung an Aufgabe 61 von Blatt 11:
Eine Firma verschickt Tee in Holzkisten mit jeweils 10 Teepackungen. Das Gewicht der einzelnen
Teepackungen sei normalverteilt mit µ = 6 kg und σ = 0.06 kg. Das Gewicht der leeren Holzkiste
sei normalverteilt mit µ = 5 kg und σ = 0.05 kg.
(a) Geben Sie unter der Unabhängigkeitsannahme für die einzelnen Lieferbestandteile ein symmetrisch zum Erwartungswert liegendes Intervall an, in dem in 95% der Fälle das Bruttogewicht
der versandfertigen Holzkiste liegt. [numeric Vektor der Länge 2]
(b) Ein Kunde obiger Teefirma prüft im Rahmen der Wareneingangskontrolle, ob die Teepackungen
wirklich den genannten Sollwert von 6 kg einhalten. Dazu wird einer Lieferung eine Stichprobe
vom Umfang n = 16 Teepackungen entnommen. Dabei ergab sich das folgende Ergebnis:
5.985
5.993
5.943
5.923
5.986
5.841
5.988
5.933
5.933
5.895
5.943
6.059
5.972
5.981
5.905
5.999
5.897
5.930
6.017
5.968
Schreiben sie diese Zahlen in einen Vektor vom Typ numeric. Berechnen Sie damit ein 95%Konfidenzintervall für das geschätzte durchschnittliche Gewicht der einzelnen Teepackungen.
[numeric Vektor der Länge 2]
Es war zu Beginn eine Inkonsistenz in der Angabe: 20 Werte in Tabelle und n = 16 im Text.
Falls Sie die Aufgabe bereits konsistent mit n = 20 gelöst haben, brauchen Sie ihre Lösung
nicht zu verändern! Ansonsten verwenden Sie bitte n = 16 und nur die nicht rot durchgestrichenen Werte der Tabelle, also nicht die Werte der letzten Spalte.
2. In Anlehnung an Aufgabe 67 Blatt 12:
Auf einer Spaghettipackung steht, dass die Spaghetti eine Länge von 23 cm aufweisen. Sie stellen fest, dass die Spaghetti durchaus in ihrer Länge abweichen und fragen sich, ob die Länge im
Mittel 23 cm beträgt; die Nudellänge kann dabei als normalverteilt angenommen werden. Um Ihre
Vermutung zu testen, betrachten Sie eine Stichprobe von 12 Nudeln.
(a) Greifen Sie in die Packung hinein und ziehen Sie 12 Nudeln (Realisationen aus einer entsprechenden Normalverteilung, wobei eine magische Stimme Ihnen mitteilt, dass die Varianz der
Länge 26.76 cm2 sei). [numeric Vektor der Länge 12]
(b) Testen Sie die untersuchte Fragestellung mit Hilfe eines geeigneten Tests zum Niveau α = 0.05.
[logical; TRUE bedeutet Nullhypothese wird verworfen]
5
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Aufgabe 4
16 Punkte
1. Lesen Sie den Datensatz eis.csv von der Veranstaltungsseite https://www.statistik.lmu.de/
institut/ag/agmg/lehre/2016_SoSe/StatSoft/material/eis.csv direkt in R ein, ohne ihn vorher lokal abzuspeichern. Das beim Einlesen entstehende data.frame-Objekt soll den Namen eis
tragen.
Die Daten basieren auf einer Befragung von jeweils 30 Person in den Jahren 2010-2012, die mit einer
Eiswaffel oder Eistüte in der Hand an jeweils zufällig ausgewählten Tagen und Orten angetroffen
wurden.
Folgende Variablen sind enthalten:
kugeln
preis
einkommen
temperatur
jahr
Anzahl der gegessenen Kugeln Eis
Preis für eine Kugel Eis in Euro
monatliches Bruttoeinkommen in Euro
Temperatur in Grad Fahrenheit
Jahr der Erhebung (1 = 2010, 2 = 2011, 3 = 2012)
2. Überprüfen Sie das Ergebnis des Einlesens, verschaffen Sie sich einen Überblick über die eingelesenen
Daten und bringen Sie alle Variablen in ein geeignetes Format.
3. Entfernen Sie die Variable einkommen aus dem Datensatz.
4. Wandeln Sie die Variable jahr in einen Faktor um. Die Levels sollen gemäß der obigen Angabe
gesetzt werden. (Hinweis: levels())
5. Wandeln Sie die Variable temperatur innerhalb des Datensatzes von Grad Fahrenheit in Grad
Celsius um.
Umrechnungsformel von Grad Fahrenheit (f) nach Grad Celsius (c):
c = (f − 32) ·
5
9
6. Geben Sie die Anzahl an Beobachtungen mit einer Temperatur von über 20 Grad Celsius im Jahr
2011 an.
7. Nutzen Sie die Beobachtungen aus eis um die folgende Grafik zu reproduzieren.
6
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Mittlerer Preis=1.101 [Euro]
1.10
1.06
1.08
Preis pro Kugel
1.12
1.14
Kosten fuer Eiscreme in den Jahren 2010−2012
Die Sternchen markieren die gruppenweisen Mittelwerte.
2010
2011
2012
Jahr
Aufgabe 5
15 Punkte
Der Umgang mit der Hilfe-Funktion ist ein wichtiger Bestandteil der Arbeit mit R. Anhand der Hilfeseite
für die Funktion barplot() soll dieses deutlich werden.
Erklären Sie fünf Argumente der Funktion barplot() anhand sinnvoller Beispiele. Dies meint, dass eine
Veränderung im Vergleich zur Vorlage feststellbar sein muss. Da die Argumente height und main bereits
in der Vorlage verwendet werden, stehen sie für die Beispiele nicht zur Verfügung.
Modifizieren Sie zum Erzeugen der Beispiele die folgende Vorlage, wobei das Argument height nicht
verändert werden darf:
# Das Argument 'main' schreibt den Titel 'Gear conditional on cyl' ueber die Grafik
barplot(height = table(mtcars$gear, mtcars$cyl), main = "Gear conditional on cyl")
7
Statistische Software
E. Endres & P. Fink
Statistische Software (R) Hausübung
SoSe 2016
Aufgabe 6
12 Punkte
1. Setzen Sie den Seed zum Ziehen von Zufallszahlen auf Ihre Matrikelnummer! (ohne Punkte)
2. Erzeugen Sie eine Matrix norm1m mit 100 Spalten und 200 Zeilen, die 20 000 Realisierungen einer
standard-normalverteilten Zufallsvariable enthält.
3. Erzeugen Sie einen Vektor chisq der Länge 100, indem Sie zuest das Kreuzprodukt der Matrix
norm1m berechnen und dann die Diagonalemente der daraus entstehenden Matrix dem Vektor chisq
zuweisen.
4. Erstellen Sie zur grafischen Überprüfung eine PDF-Datei im aktuellen Arbeitsverzeichnis mit Dateiname Verteilungsfunktion_Aufgabe_6.pdf, welche die in den folgenden beiden Teilaufgaben
erzeugte Grafik aufnehmen soll.
(a) Zeichnen Sie die emprische Verteilungsfunktion von chisq in eine Grafik, wobei der x-Achsenbereich von 140 bis 260 gehen soll. Geben Sie der Grafik einen sinnvollen Titel.
(Hinweis: Verwenden Sie den Befehl ecdf())
(b) Zeichnen sie in dieselbe Grafik eine rote Kurve, welche die theoretische Verteilungsfunktion
einer χ2 -Verteilung mit 200 Freiheitsgraden abträgt. Sie brauchen den Wert der theoretischen
Verteilungsfunktion nur an den ganzen Zahlen im Bereich von 140 bis 260 zu evaluieren.
Viel Erfolg beim Bearbeiten!
8