3 Grundlagen
3.1 Fundamentale Datentypen in R
In R existieren verschiedene atomare Datentypen aus welchen sich wiederum komplexere Datentypen konstruieren lassen.
In R existieren verschiedene atomare Datentypen aus welchen sich wiederum komplexere Datentypen konstruieren lassen.
Datentyp | Beschreibung | Beispiel |
---|---|---|
integer | ganze Zahlen | -2L |
numeric | reelle Zahlen | 5.2456 |
logic | logische Werte | TRUE, FALSE |
character | Zeichenfolge | ‘a’, “Mexico” |
Textelemente müssen immer in Anführungszeichen stehen, also entweder “…” oder ‘…’
In R können manche atomare Datentypen besondere Ausprägungen annehmen.
Datentyp | Ausprägung | Bedeutung |
---|---|---|
numeric | NaN | “Not a Number” |
numeric | Inf | Unendlich |
logic | NA | Unbestimmt |
NULL | NULL | Leer |
3.1.1 Umformung
Gelegentlich kommt es vor, dass beim Import von Datensätzen die Daten im falschen Format übernommen werden, diese können wieder umgeformt werden
character \(\rightarrow\) numeric
logical \(\rightarrow\) numeric (FALSE
= 0, TRUE
= 1)
numeric \(\rightarrow\) character
numeric \(\rightarrow\) logical (0 = FALSE
, jede andere Zahl = TRUE
)
3.2 R als Taschenrechner
3.2.1 Dezimalstellen und Leerzeichen
- Dezimalzahlen werden in R mit einem Punkt und nicht mit einem Komma angegeben
- Die Anzahl von Leerzeichen zwischen Befehlsbestandteilen ist (mit Ausnahmen) egal
3.3 Variablen und Objekte
3.3.1 Abspeichern von Variablen
- Werte können in Variablen (Objekten) gespeichert werden
- Objekte sind nach der Zuweisung mit ihrem Namen abrufbar
- Gespeicherte Objekte können weiterverwendet werden
- Es können alle möglichen Elemente in Objekten gespeichert werden
- Text:
- logische Werte:
3.3.2 Hinweise zur Benennung
- R unterscheidet Groß- und Kleinschreibung:
X
undx
sind nicht das Gleiche
- Variablennamen dürfen nur Buchstaben, Zahlen, Unterstrich und Punkt enthalten
- Variablennamen sollten keine Leerzeichen enthalten
- Umlaute und ß wenn möglich vermeiden
- Variablennamen dürfen nicht mit einer Zahl oder einem Unterstrich beginnen
3.4 Funktionen
Woraus besteht eine Funktion?
- R beinhaltet eine große Menge an Grundfunktionen
- Allgemeine Struktur:
Funktion(Argument1, Argument2, …)
- Die Argumente definieren und spezifizieren die Funktion
- Beispiele für einfache Funktionen (hier nur ein Argument):
sqrt(x)
berechnet Quadratwurzelmean(X)
berechnet Mittelwert eines Vektors
3.4.1 Funktionen mit mehreren Argumenten
c(Argument1, Argument2, Argument3)
definiert einen Vektor mit drei Werten (z.B. Spaltennamen)
round(x, digits = 2)
rundet x auf 2 Nachkommastellen
3.4.2 Default-Werte in Funktionen
- Nicht alle Argumente von Funktionen müssen angegeben werden
- Diese optionalen Argumente nehmen dann default-Werte ein
- Beispielsweise bei
round()
ist der Default-Wertdigits = 0
- default-Werte können in R Documentation nachgesehen werden (s. Help-Funktion)
- Die Argumente müssen nicht explizit benannt werden
- Dann ist aber die Reihenfolge wichtig, in der die Werte der Argumente eingegeben werden
- Benennen ist allerdings nachvollziehbarer (hilft, Fehler zu vermeiden)
3.5 Datenstrukturen
Übersicht
3.5.1 Vektoren
- eindimensionale Datenstruktur, in dem mehreren Elemente enthalten sind
- können im Enviroment als Objekt abgespeichert werden
- Mathematische und logische Operatoren können auf den Vektor (auf alle Elemente) angewandt werden
Durch eckige Klammern []
können durch Angabe ihrer Position einzelne Elemente eines Vektors ausgewählt (indiziert) werden.
(Wichtig: in R beginnt der Index immer mit 1)
Die Elemente können auch aufgrund von gewissen Bedingungen ausgewählt werden
Steht ein negatives Vorzeichen vor dem Index, so wird jedes Element außer dem indizierten aus dem Vektor ausgewählt
Soll eine gewisse Reihe von angrenzenden Elementen (von Element i
bis Element j
) vektorisiert werden, werden die Indizes mit :
verbunden (also i:j
).
3.5.2 Matrizen
- Zweidimensionale Datenstruktur
- Matrizen werden in R mit
matrix(data = …, nrow = …, ncol = …, byrow = …)
erstelltdata
ist ein Vektor, der die Elemente der Matrix enthältnrow
definiert die Anzahl der Zeilen der Matrixncol
definiert die Anzahl der Spalten der Matrix- Wird die Matrix zeilenweise (
byrow = TRUE
) oder spaltenweise (byrow = FALSE
) mit den Elementen befüllt?
d <- c(1:9)
m <- matrix(data = d, nrow = 3, ncol = 3, byrow = TRUE)
m
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
Die Auswahl von Matrixelementen ist analog zu der Auswahl von Elementen aus einem Vektor
- Allerdings wird bei einer Matrix ein Element durch zwei Positionen (Zeile und Spalte) definiert
- Sollen alle Spalten in einer bestimmten Zeile ausgewählt werden, bleibt der Spaltenindex leer
- Analog für die Auswahl aller Zeilen in einer bestimmten Spalte
- Negative Indizierung und Mehrfachauswahl auch möglich
3.5.3 Dataframes
- Ein Dataframe ist eine Datenstruktur ähnlich zur Matrix
- jede Spalte beinhaltet Werte einer Variable und jede Reihe Werte von jeder Variable (Spalten müssen gleichlang sein)
- Data Frames können mit
data.frame()
aus mehreren (gleichlangen) Vektoren erstellt werden
alter <- c(16,17,15,22)
geschlecht <- c("w","w","m","m")
dataframe <- data.frame(alter, geschlecht)
dataframe
alter geschlecht
1 16 w
2 17 w
3 15 m
4 22 m
Verschieden Möglichkeiten für Elementauswahl
- Zeilen- und Spaltennummer (analog zu Matrizen)
- oder mithilfe des $} operators direkt auf Variablen zugreifen
- Mit dem
\$
Operator können zudem einzelne Werte verändert werden
- … oder ganze Variablen gelöscht werden
** Um festzustellen, ob die Veränderungen funktioniert haben, muss nicht immer das Objekt extra in der Konsole aufgerufen werden. Es reicht im Enviroment zu schauen ob sich das Objekt entsprechend verändert hat.**
- Desweiteren können auch neue Variablen hinzugefügt werden
- …oder aus bestehenden Variablen gebildet werden
3.6 Packages
- R besteht aus einer Reihe von vorinstallierten Grundfunktionen
- Zusätzliche Funktionen erhält man durch externe Pakete (packages)
- Diese müssen heruntergeladen und eingebunden werden
3.6.1 Installieren von Packages
library()
: Auflistung aller bereits installierten Paketeinstall.packages("NameDesPakets")
1: Paket installieren (einmalig), Internetverbindung benötigtlibrary(NameDesPakets)
: Laden eines Pakets (in jeder R-Sitzung nötig)
!Hier unbedingt in Anführungszeichen↩︎