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
© Copyright 2024 ExpyDoc