Einführung in R
Quellcode
Inhalt
Inhalt
R als Taschenrechner
In diesem Kapitel geben wir Ihnen eine kurze Einführung zur Grundlegenden Verwendung von R. Sie können ergänzend die Videotutorials zur Datenhandhabung nutzen.
1) R als Taschenrechner
1) R als Taschenrechner
Script
# Einfache Rechenaufgaben mit arithmetischen
# Operatoren
1+1
Console
[1] 2
Script
# ^ spezifiziert den Exponenten
3^2
Console
[1] 9
Script
# logische Operatoren: == untersucht,
# ob es sich um identische Werte handelt
1==1
Console
[1] TRUE
Script
"String"=="string"; "A"!="B"; 1<2
Console
[1] FALSE
[1] TRUE
[1] TRUE
2) Erstellung und Berechnung von Variablen
2) Erstellung und Berechnung von Variablen
Script
# Definition der Variablen im Workspace
spiele <- c(30, 18, 28, 33, 30)
tore <- c(18, 12, 11, 20, 16)
# Wir verwenden spieler_name, damit es nicht zur
# Verwechslung mit der bereits
# vorhandenen Funktion names() kommt. Buchstaben und # Worte werden durch ""
# gekennzeichnet.
spieler_name <- c("Mario Mandzukic", "Klaas-Jan Huntelaar", "Arjen Robben", "Robert Lewandowski", "Marco Reus")
# Beispiele für die Anwendung von Operatoren auf
# Variablen.
# Durchschnittliche Anzahl der Spiele pro Monat
spiele/12
Console
[1] 2.500000 1.500000 2.333333 2.750000 2.500000
Script
# Welcher Wert der Variable Spiele ist identisch mit
# 18?
spiele==18
Console
[1] FALSE TRUE FALSE FALSE FALSE
Script
# Anteil der Tore am Anteil aller Tore der fünf Stürmer
tore/sum(tore)
Console
[1] 0.2337662 0.1558442 0.1428571 0.2597403 0.2077922
Objektklassen
Script
# Das character-Objekt wird in ein factor-Objekt
# umgewandelt.
class(as.factor(spieler_name))
Console
[1] "factor"
Script
# Generierung eines data.frame-Objekts
fussball <- data.frame(spieler_name, tore, spiele)
# Entfernen von Objekten
rm(spieler_name, tore, spiele)
3) Umgang mit fehlenden Werten
3) Umgang mit fehlenden Werten
Script
spiele <- c(30, 18, 28, 33, 30, NA)
tore <- c(18, 12, 11, 20, 16, 13)
spieler_name <- c("Mario Mandzukic", "Klaas-Jan Huntelaar", "Arjen Robben",
"Robert Lewandowski", "Marco Reus", "Thomas Mueller")
# Mittelwert mit NA Ausgabe
mean(spiele)
Console
[1] NA
Script
# Mittelwert mit NA Ausschluss
mean(spiele, na.rm=T)
Console
[1] 27.8
Script
# Für welchen Wert von spiele gilt, dass er NA ist
is.na(spiele)
Console
[1] FALSE FALSE FALSE FALSE FALSE TRUE
Script
# An welcher Position befinden sich die NA Werte
which(is.na(spiele))
Console
[1] 6
4) Indizierung
4) Indizierung
Script
# Wert der 3. Stelle der Variable spieler_name
spieler_name[3]
# Welcher Wert / welche Werte der Variable spiele
# haben den Wert 30?
which(spiele==30)
# Welcher Wert / welche Werte der Variable spiele
# haben den Wert 30?
spieler_name[which(spiele==30)]
Console
[1] "Arjen Robben"
[1] 1 5
[1] "Mario Mandzukic" "Marco Reus"
Script
# Zuweisung von Werten
# Thomas Müller hat 31 Spiele bestritten. Die Variable spiele enthält für ihn aber
# den Wert NA. Wir definieren den entsprechenden Wert an entsprechender Stelle.
spiele[which(spieler_name== "Thomas Mueller")] <- 31
# oder kürzer
spiele[6] <- 31
5) Funktionen
5) Funktionen
# Berechnung des Mittelwertes mit der Funktion mean()
mean(
c(2, 3, 5, 6, 9)
)
Console
[1] 5
Script
# Die Verwendung von attach()
attach(bsp01)
mean(IQ)
Console
[1] 99.02
Script
# Zurücksetzen des Suchpfades
detach(bsp01)
# Ohne Spezifizierung von bsp01 kann der IQ nicht berechnet werden,
# da das Objekt IQ nicht im Workspace vorhanden ist.
mean(IQ)
Console
Error in mean(IQ) : object 'IQ' not found
6) R-Objekte erzeugen
6) R-Objekte erzeugen
Script
# Hier wird ein R-Objekte erzeugt,
# welches den Mittelwert
# der Variable IQ enthält
attach(bsp01)
mittelwert_IQ <- mean(IQ)
# Schlechte Namen
mean <- mean(IQ)
varianz_IQ <- mean(IQ)
# Weitere Beispiele
stichprobenumfang_IQ <- length(IQ)
varianz_IQ <- var(IQ)
# Ein neues Objekt aus anderen Objekten
mittelwert2_IQ <- sum(IQ)/stichprobenumfang_IQ
# Das Ausführen des Objekts gibt dessen Inhalt an.
mittelwert2_IQ
Console
[1] 99.02
7) Funktionsargumente
7) Funktionsargumente
Script
# Berechnung des Mittelwerts des IQ für Männer
mean(
subset(
x = bsp01$IQ,
subset = bsp01$sex=="male"
)
)
Console
[1] 101.7619
8) Pakete verwenden
8) Pakete verwenden
Script
# Laden der Paketbibliothek
library(aplpack)
# Erstellung des IQ in den jeweiligen Gruppen mit subset()
IQ_maenner <- subset(bsp01$IQ, bsp01$sex=="male")
IQ_frauen <- subset(bsp01$IQ, bsp01$sex=="female")
# Erstellung des zweiseitigen Stamm-Blatt-Diagramms
stem.leaf.backback(x=IQ_maenner, y=IQ_frauen,m=1)
Console
1 | 2: represents 12, leaf unit: 1
IQ_maenner IQ_frauen
____________________________________________________
1 8| 5 |
| 6 |7 1
4 996| 7 |33556899 9
8 6632| 8 |123344556678 21
21 9886555432210| 9 |0445788 (7)
(9) 665544431| 10 |0000111112234555 30
12 888311| 11 |01346666689 14
6 431| 12 |179 3
3 83| 13 |
| 14 |
____________________________________________________
HI: 151
n: 42 58
____________________________________________________