Politikwissenschaft

 

Webseite durchsuchen

R Grundlagen

Benjamin Schlegel | 22. Februar 2016

PDF

R ist eine Software zur statistischen Datenverarbeitung und Visualisierung. Im Gegensatz zu anderen Statistikprogrammen wie Stata oder SPSS ist R kostenlos und open source. R kann von cran.rstudio.com heruntergeladen werden. Zusätzlich gibt es eine benutzerfreundlichere Version R Studio, welche von www.rstudio.com/products/rstudio/download heruntergeladen werden kann.

Pakete installieren und laden

R kennt einige Funktionen, welche standardmässig verfügbar sind. Weitere Funktionen können durch Pakete hinzugefügt werden. Installiert werden muss ein Paket, wenn es im R-Studio das erste Mal verwendet wird. Installiert werden kann ein Paket mit dem Befehl install.packages("Paketname") oder unter Tools/Install Packages.


install.packages("dplyr")

Um ein Paket verwenden zu können, muss es geladen werden. Dazu wird die Funktion library(Paketname) verwendet.


library(dplyr)

Datensatz laden

Zuerst muss das aktuelle Verzeichnis geändert werden zum Ordner, wo sich die Datei befindet. Dies kann mit dem Befehl setwd(Verzeichnisadresse) getan werden. In Windows muss ein \\ verwendet werden.


setwd("C:\\xampp\\htdocs\\data")

Bei einem Mac wird ein / verwendet.


setwd("~/SomeFolder/MyFolder")

CSV-Datei

Wie ein Datensatz geöffnet werden kann, hängt vom Typ der Datei ab. Eine CSV-Datei wird mit dem Befehl read.csv("meineDatei.csv") geöffnet.


data.london = read.csv("london_survey_2010.csv")

Stata-Datei

Um eine Stata-Datei zu öffnen, braucht es das Paket haven. Der Befehl zum Öffnen der Datei lautet read_dta("meineDatei.dta").


library(haven)
data.vox = read_dta("vox.dta")

R-Datensatz-Datei

Eine R-Datensatz-Datei kann mit dem Befehl load("meineDatei.Rda") geöffnet werden.


load("data.Rda")

Der Name des Daten-Frames hängt davon ab, wie es vor dem Speichern genannt wurde.

SPSS-Datei

Um eine SPSS-Datei zu öffnen, braucht es das Paket haven. Die Datei kann mit dem Befehl read_sav("meineDatei.sav") eingelesen werden.


library(haven)
selects = read_sav("Selects_1971_2011.sav")

Variablen und Datentypen

In Variablen lassen sich Werte speichern und ändern. Eine Variable in R hat einen Typ. Wichtige Typen sind:

Zuerst ein Beispiel zu einfachen Werten.


a = 3 # Eine Zahl in einer Variable speichern
b = "Hallo" # Einen Charakter in einer Variable speichern
c = TRUE # Einen Boolean in einer Variable speichern
a # Wert ausgeben

## [1] 3

b

## [1] "Hallo"

c

## [1] TRUE

a = "Peter" # Wert ändern
a

## [1] "Peter"

Und nun zu einem Beispiel mit Vektoren. Ein Vektor besteht aus einem oder mehreren Werten eines der oben vorgestellten Typen.


vector1 = c(1,2,7,4) # Ein Vektor in einer Variable speichern
vector2 = 3:12 # Vektor mit den Werten 3 bis 12
vector1

## [1] 1 2 7 4

vector2

##  [1]  3  4  5  6  7  8  9 10 11 12

Als nächstes wird eine Matrix definiert. Eine Matrix besteht aus Elementen vom gleichen Basis-Typ. Standardmässig ist byrow auf FALSE gesetzt. Gibt man byrow=TRUE zusätzlich an, werden die Zahlen Kolonnenweise aufgefüllt.


matrix = matrix(1:20, nrow=5, ncol=4) # 5x4 Matrix
matrix

##      [,1] [,2] [,3] [,4]
## [1,]    1    6   11   16
## [2,]    2    7   12   17
## [3,]    3    8   13   18
## [4,]    4    9   14   19
## [5,]    5   10   15   20

Nun wir ein Data Frame erstellt. Ein Data Frame hat pro Spalte einen Basis-Typ.


data = data.frame(c(50,24,65,34),c("Paul","Bill","Peter","Thomas"),c(TRUE, TRUE, FALSE, TRUE))
colnames(data) = c("Alter","Name","Abgestimmt")
data

##   Alter   Name Abgestimmt
## 1    50   Paul       TRUE
## 2    24   Bill       TRUE
## 3    65  Peter      FALSE
## 4    34 Thomas       TRUE

data$Name # mit einem $ kann auf eine Kolonne im Data Frame zugegriffen werden

## [1] Paul   Bill   Peter  Thomas
## Levels: Bill Paul Peter Thomas

data[1,] # mit [,] können einzelne Zeilen, Kolonnen oder Werte ausgelesen werden

##   Alter Name Abgestimmt
## 1    50 Paul       TRUE

data[,1]

## [1] 50 24 65 34

data[2,3]

## [1] TRUE

Ein Liste wird folgendermassen erstellt. Sie kann beliebige Objekte enthalten.


matrix = matrix(1:20, nrow=5, ncol=4)
vector1 = c(1,2,7,4)
name = "Fritz"
mylist = list(matrix,vector1,name)
mylist

## [[1]]
##      [,1] [,2] [,3] [,4]
## [1,]    1    6   11   16
## [2,]    2    7   12   17
## [3,]    3    8   13   18
## [4,]    4    9   14   19
## [5,]    5   10   15   20
## 
## [[2]]
## [1] 1 2 7 4
## 
## [[3]]
## [1] "Fritz"

Ein Faktor definiert eine nominale Variable.


data = data.frame(c(50,24,65,34),c("Paul","Bernhard","Peter","Thomas"),c(TRUE, TRUE, FALSE, TRUE))
colnames(data) = c("Alter","Name","Abgestimmt")
data$Name = factor(data$Name) # Damit weiss R, dass es sich bei Name
#  um eine nominale Variable handelt.
data$Name

## [1] Paul     Bernhard Peter    Thomas  
## Levels: Bernhard Paul Peter Thomas

weiterführende Links

www.statmethods.net Eine Einführung in R (Englisch)
stat.ethz.ch/~stahel/courses/R/r-short.pdf eine kurze Einführung der ETH Zürich(Deutsch)