library(learnr)
Im folgenden gibt es einige Übungsaufgaben und Fragen zu den Inhalten des R-Kurses. Die Aufgaben sind kursbegleitend und werden regelmäßig aktualisiert.
Bei den Aufgaben müsst ihr einen entsprechenden R-Code in das dazugehörige Textfeld eingeben. Mit Klick auf die Schaltfläche Run Code könnt ihr den Code ausführen und das Ergebnis ansehen. Falls ihr nicht weiter wisst oder unsicher seid, könnt ihr über die Schaltfläche Hints Tipps anzeigen lassen. Bei einigen Übungen kann man sich mehrere Tipps anzeigen lassen, indem man im Tipp-Fenster auf Next Hint klickt.
Die Lösungen kommen am Ende der Aufgaben.
Im R-Kurs sitzen Martin (35 Jahre), Valerie (23 Jahre), Michael (30 Jahre) und Franziska (27 Jahre). Erstelle drei Variablen, die die Merkmale Alter, Geschlecht und Name der Kursteilnehmer speichern.
Wenn du auf Run Code klickst, kann es sein, dass keine Ausgabe kommt, weil bisher nur die Variablen definiert, aber nicht angezeigt wurden - das kommt in der nächsten Aufgabe.
# Die Namen der Variablen sollten kurz, aber aussagekräftig sein
# Die Namen der Variablen sollten kurz, aber aussagekräftig sein, # z.B. alter, geschlecht und name
# Objekt-Zuweisung erfolgt mit dem '<-' Operator alter <- geschlecht <- name <-
# mehrere Werte werden mit der 'c()' Funktion verknüpft. Jeder Wert innerhalb # der Klammer muss mit Komma getrennt werden. c(1, 3, 5) c("a", "b", "c")
# Die Lösung der vorigen Frage hier bitte reinkopieren, # damit die Variablen erstellt! werden
question("Wie wird eine kategoriale (diskrete) Variable in R erstellt?", answer("x <- c(1, 2, 3)"), answer("x <- c(\"a\", \"b\", \"c\")"), answer("x <- factor(\"a\", \"b\", \"c\")"), answer("x <- factor(c(\"a\", \"b\", \"c\"))", correct = TRUE) )
Du hast folgenden Datensatz:
daten <- data.frame( geschlecht = factor(c("w","m", "w", "w")), alter = c(31, 35, 27, 28) ) daten
question("Wie greift man in dem Datensatz 'daten' auf die Variable 'alter'? (Bitte alle korrekten Antworten ankreuzen)", answer("daten$alter", correct = TRUE), answer("daten[alter]"), answer("daten[[\"alter\"]]", correct = TRUE), answer("daten[\"alter\"]"), answer("daten[2, ]"), answer("daten[, 2]", correct = TRUE) )
In dieser Aufgabe sind zwei Variablen, alter
und geschlecht
, vorgegeben. Erstelle daraus einen Datensatz mit der data.frame()
Funktion und speichere ihn in einem Objekt dat
.
# Variablen geschlecht <- factor (c("w","m", "w", "w", "m", "m", "m", "m", "w","m", "m", "w", "w", "w", "w")) alter <- c(31, 35, 27, 28, 22, 32, 50, 37, 31, 33, 42, 25, 29, 36, 31)
# Objekt-Zuweisung erfolgt mit dem '<-' Operator dat <-
# Die 'data.frame()' Funktion gibt einen Datensatz zurück, den wir in 'dat' speichern wollen. dat <- data.frame(...)
Zeige den Datensatz mit allen Variablen an, aber nur die Werte der weiblichen Personen.
dat
# Zum Anzeigen bestimmter Fälle brauchen wir die Zeilen dieser Fälle
# Der Zugriff auf Fälle und Variablen erfolgt über die Klammern [ und ]
# Um die Fälle zu definieren, müssen die Zeilennummern als erstes Argument # innhalb der eckigen Klammern erfolgen dat[4, ]
# Mehrere Fälle (Zeilen) werden mit dem 'c()' Befehl angegeben dat[c(4, 6, 8), ]
Zeige aus dem Datensatz nur die Variable alter an, und zwar nur die Werte der weiblichen Personen.
dat
# Variablen geschlecht <- factor (c("w","m", "w", "w", "m", "m", "m", "m", "w","m", "m", "w", "w", "w", "w")) alter <- c(31, 35, 27, 28, 22, 32, 50, 37, 31, 33, 42, 25, 29, 36, 31) mwdat <- data.frame(geschlecht, alter)
# Die Funktion 'mean()' berechnet den Mittelwert einer Variablen mean(...)
# Aus dem Datensatz muss die Variable "alter" nur für die # weiblichen Personen herausgefiltert werden mean(mwdat[?, ?])
alter <- c(35, 23, 30, 27) geschlecht <- c("m", "w", "m", "s") name <- c("Martin", "Valerie", "Michael", "Franziska")
alter <- c(35, 23, 30, 27) geschlecht <- c("m", "w", "m", "s") name <- c("Martin", "Valerie", "Michael", "Franziska") alter geschlecht name
# Variablen geschlecht <- factor(c("w","m", "w", "w", "m", "m", "m", "m", "w","m", "m", "w", "w", "w", "w")) alter <- c(31, 35, 27, 28, 22, 32, 50, 37, 31, 33, 42, 25, 29, 36, 31) dat <- data.frame(alter, geschlecht) dat
dat[c(1, 3, 4, 9, 12, 13, 14, 15), ]
dat[c(1, 3, 4, 9, 12, 13, 14, 15), "alter"] # oder dat[c(1, 3, 4, 9, 12, 13, 14, 15), 1]
# Variablen geschlecht <- factor(c("w","m", "w", "w", "m", "m", "m", "m", "w","m", "m", "w", "w", "w", "w")) alter <- c(31, 35, 27, 28, 22, 32, 50, 37, 31, 33, 42, 25, 29, 36, 31) mwdat <- data.frame(geschlecht, alter) mean(mwdat[c(1, 3, 4, 9, 12, 13, 14, 15), "alter"])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.