+ All Categories
Home > Documents > Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm,...

Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm,...

Date post: 05-Apr-2015
Category:
Upload: bathilda-heis
View: 107 times
Download: 0 times
Share this document with a friend
24
Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt. Stochastik, Abt. Zahlentheorie und Wahrscheinlichkeitstheorie
Transcript
Page 1: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Einführung in R

Seminar Stochastik im WS 02/03

Ein Vortrag von Viktoria Idt

Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt. Stochastik, Abt. Zahlentheorie und Wahrscheinlichkeitstheorie

Page 2: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

• Past:S – entwickelt als kommerzielles interpretiertes Datenanalyse- und Grafik-System durch die Bell-Laboratories.

• Present:R – Open Source Version von S (www.r-project.org)

• Future:Omega Project – Statistisches Analyse-System mit Augenmerk auf Javaintegration und webbasierte Anwendung (experimentell).

Was ist R?

Page 3: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

R Anweisungen (Commands)• Groß- und Kleinschreibung sind zu beachten (z.B. A und a sind

unterschiedliche Variablen).• Elementare Anweisungen bestehen entweder aus Ausdrücken oder

Zuweisungen.• Verschiedene Anweisungen werden durch ';' oder Enter getrennt und

können mit geschweiften Klammern ('{' und '}') zu Blöcken zusammen gefasst werden.

• Kommentarzeilen beginnen mit der Raute ('#')

> # hier kommt ein Beispiel> x<-1; A <- "Statistik"; compar <- TRUE; z <- 1i> "Seminar" -> B> assign("x",10)

Page 4: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Objekte• Alle Variablen, Daten, Funktionen und Ergebnisse werden in Form

von Objekten gespeichert und besitzen dann einen Namen.

• Der Name eines Objektes muss mit einem Buchstaben anfangen und kann Buchstaben, Zahlen (0-9) und Punkte ('.') enthalten.

• Namen dürfen nicht mit einer Zahl beginnen.

> ls() listet die Objekte, die im Speicher vorhanden sind, auf. Dabei erscheinen nur die Objektnamen.

> ls(pat = "m") listet die Objekte mit bestimmten Eigenschaften auf.

> ls.str() lässt Details der Objekte erscheinen.

> rm() löscht die Objekte.

Page 5: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Innere Attribute der ObjekteAlle Objekte haben zwei innere Attribute: den Modus (numeric, character,

complex, and logical) und die Anzahl der Komponenten.

> x<- 1; A <- "Statistik"; compar <- TRUE; z<- 1i

> mode(x); mode(A); mode(compar); mode(z)

[1] "numeric"

[1] "character"

[1] "logical"

[1] "complex"

> length(x); length(A);

[1] 1

[1] 1

Page 6: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

VektorenDie Möglichkeiten der Zuweisung eines Vektors:

> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)> y <- c(x, 0, x) > y[1] 10.4 5.6 3.1 6.4 21.7 0.0 10.4 [8] 5.6 3.1 6.4 21.7

1:30 entspricht dem Vektor c(1,2.....,29,30). Der Operator ':' hat die höchste Priorität. Zum Vergleich:

1:10-1 = 0:9 aber 1:(10-1) = 1:9

> 1/x[1] 0.09615385 0.17857143 0.32258065 0.15625000[5] 0.04608295

Page 7: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Arithmetik mit Vektoren• Die elementare arithmetische Funktionen sind die üblichen +,-,*,\ und

^ für die Potenz.

• Auch die log, exp, sin, cos, tan, sqrt haben ihre übliche Bedeutung.

• max() , min() geben das größte bzw.das kleinste Element des Vektors,

• range(x) entspricht dem Vektor c(min(x),max(x)),

• sum(x) der Summe der Elemente,

• prod(x) dem Produkt der Elemente.

• mean(x) ist analog zu sum(x)/length(x) (Mittelwert/Erwartungs- wert).

• var(x) ist analog zu sum((x-mean(x))^2)/(length(x)-1).

Page 8: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Matrizen• Eine Matrix ist ein Vektor mit einem Attribut (dim), welches

seinerseits ein Vektor mit 2 Komponenten ist und die Anzahl der Reihen und Spalten der Matrix definiert. Eine Matrix kann deshalb mit der Funktion 'matrix()' erzeugt werden:

• matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

• Die Option byrow gibt an, ob die Werte, die durch „data“ gegeben sind, spaltenweise oder zeilenweise (wenn TRUE) gefüllt werden. Die Option dimnames ermöglicht die Benennung der Zeilen und Spalten.

Page 9: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Beispiele für Matrizen> matrix(data=5, nr=2, nc=2) [,1] [,2][1,] 5 5[2,] 5 5 > matrix(1:6, 2, 3) [,1] [,2] [,3][1,] 1 3 5[2,] 2 4 6 > matrix(1:6, 2, 3, byrow=TRUE) [,1] [,2] [,3][1,] 1 2 3[2,] 4 5 6

Page 10: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Arithmetik mit Matrizen

> B <- t(A) Berechnet die Transponierte von A.

 

> A %*% B Matrix-Multiplikation

> x %*% A %*% x Matrix-Vektor-Multiplikation

Der Vektor x wird automatisch in einen Zeilen- oder Spaltenvektor umgewandelt, je nach dem was die Multiplikation verlangt.

> solve(A,b) Löst das lineare Gleichungssystem A*x = b.

 

> solve(A) liefert die Inverse von A.

Page 11: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Eigenwerte & Eigenvektoren

• Die Funktion eigen(Sm) berechnet die Eigenwerte und die Eigenvektoren einer symmetrischen Matrix. Das Ergebnis ist eine Liste von zwei Komponenten, genannt values und vectors.

> evals <- eigen(Sm)$values

liefert nur die Eigenwerte zurück.

> evals <- eigen(Sm)$vec

liefert die Matrix der korrespondierenden Eigenvektoren.

Page 12: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Weitere Objekte

• ArraysArrays können aus Vektoren durch die Funktion array() erzeugt werden: array(data_vector, dim_vector)

> Z <- array(1:24, c(3,4,2))

• Die Listen In R ist die Liste ein Objekt, welches eine Folge von Objekten, den

Komponenten, beinhaltet.

> Lst <- list(name=“Homer Simpson", wife="Marge", no.children=3, child.ages=c(1,8,10))

Page 13: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Data.Frame()• Für die Erstellung von Tabellen, ist es möglich ein Data-Frame mit der

Funktion data.frame() zu erzeugen. Die Vektoren müssen in dem Frame alle gleicher Länge sein. Falls einer kürzer ist, wird er mit seinen ersten Einträgen erweitert.

• Im Frame kann man die Bezeichnung der Spalten umbenennen:

> x <- 1:4; M <- c(10, 35);

> data.frame(A1=x,A2=M)

A1 A2

1 1 10

2 2 35

3 3 10

4 4 35

Page 14: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

NA und NaN• NA hält den Platz eines Elementes oder Wertes in dem Vektor frei,

wenn dieses nicht verfügbar „not available“ ist. • is.na(x) gibt einen logischen Vektor der Länge x zurück, mit TRUE

nur an der Stelle von NA > z <- c(1:3,NA); ind <- is.na(z)[1] 1 2 3 NA[1] FALSE FALSE FALSE TRUE

• NaN (Not a Number) ist eine andere Art von "unbekannten" Werten, die durch numerisches Rechnen verursacht werden:

> 0/0; Inf-Inf[1] NaN[1] NaN

Page 15: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Rechnen mit komplexen Zahlen

> sqrt(-17)

gibt ein NaN und eine Warnung zurück:

[1] NaN

Warning message:

NaNs produced in: sqrt(-17)

> sqrt(-17+0i)

wird als Quadratwurzel einer komplexen Zahl berechnet

Page 16: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Ausführung aus Dateien und Umleitung der Ausgaben in eine Datei

> source("commands.R") wenn Befehle in einer Datei gespeichert sind (z.B. 'Commands.R'), so können sie jederzeit in R damit aufgerufen werden, (in Windows ist es auch im Datei-Menu)

> sink("record.lis")Mit dieser Funktion werden alle nachfolgende Ausgaben (Outputs) von der Console in eine externe Datei 'Record.lis' übertragen und mit

> sink()kann man wieder auf die Console zurückschalten.

Page 17: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Das Einlesen der Daten aus Dateien

Wenn die erste Zeile der Datei einen Namen/Bezeichnung für jede Variable des „data-frames“ hat, und jede nachfolgende Zeile einenZeilenzähler und die Werte zu jeder Variable besitzt, so kann man dieDaten mit der Funktion read.table() einlesen. z.B.:

Price Floor Area Rooms Age Cent.heat01 52.00 111.0 830 5 6.2 no02 54.75 128.0 710 5 7.5 no

Auslesen der Daten mit:> HousePrice <- read.table("houses.data")

 Beim Fehlen des Zeilenzählers: > HousePrice <- read.table("houses.data", header=TRUE)

Page 18: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Programmieren in RSchleifen und Anweisungen:> for(Bedingung){..}> while (Bedingung){..}> if (Bedingung){..}

Funktionen:> MyFun <- function(Parameter){..}diese wird genau die gleichen Eigenschaften besitzen wie auch die anderenFunktionen in R.

Programme:Ein R-Programm wird in einer Datei im ASCII Format gespeichert undmit '.R ' gekennzeichnet. Es kann mit source(“Programmname.R“)aufgerufen werden.

Page 19: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Hilfe in R> help(solve) liefert Informationen zu einem beliebigen

Funktionsnamen z.B. solve.

> ?solve ist eine alternative Abfrage.

> help("[[") liefert Informationen über eine Eigenschaft.

> help.start() ruft die Hilfe in html- Format auf.

> ?help.search sucht nach Details und Beispielen.

> example(topic) ruft Beispiele zu einem Hilfethema auf.

Page 20: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Verteilungen • Folgende Funktionen gibt es, um die Verteilungsfunktion P(X<=x) 'p',

die Wahrscheinlichkeitsfunktion/Dichte 'd', die Quantilfunktion 'q' und die Simulation der Verteilung 'r' zu berechnen.

Verteilung R Bezeichnung Zusätzliche Argumentebinomial binom size, probchi-squared chisq df, ncpexponential exp rategeometric geom probhypergeometric hyper m, n, knormal norm mean, sdPoisson pois lambda

>#Verteilungsfunktion (x) der Standartnormalverteilung an der Stelle x=2,3

> pnorm(2.3)[1] 0.9892759

Page 21: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Graphische Oberfläche mit R

Es gibt zwei Arten von graphischen Funktionen: die high

level plotting functions, welche einen neuen Graphen

erzeugen, und die low-level plotting functions, welche neue

Elemente zu den bereits erzeugten Graphen hinzufügen.

Page 22: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

high-level plotting functions

• plot(x) zeichnet die Werte von x (als Werte der y-Achse) geordnet nach der x-Achse.

• plot(x,y) die Werte von x als x-Koordinate die von y, als y- Koordinate

• boxplot(x) "Box-und-Whiskers“-Plot

• hist(x) Histogramm

• symbols(x,y,..) zeichnet in die Koordinaten, die von x, y übergeben wurden, die Symbole(Kreise,Quadrate, Sterne..)

Page 23: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

low-level plotting functions • points(x,y) fügt Punkte hinzu.

• lines(x,y) fügt Linien hinzu.

 

• segments(x0,y0,x1,y1) zeichnet Linie vom Punkt(x0,y0) zu(x1,y1).

• abline(h=y) zeichnet eine Horizontale zur Ordinate y.

• abline(v=x) zeichnet eine Vertikale zur x.

• title() fügt einen Titel hinzu.

> x <- rnorm(10); y <- rnorm(10)

> plot(x, y, xlab="Zehn Zufallsvariablen", ylab="Die anderen zehn Werte", xlim=c(-2, 2), ylim=c(-2, 2), pch=22, col="red", bg="yellow", main="Wie zeichne ich einen Graphen in R")

Page 24: Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften Abt.

Packages in R für die Extrapolation • Folgende Packages können importiert werden:

• akima Splines

• fields und sgeostat Kriging

• geoR und geoRglm Geostatistik

• spatstat Punktprozess

 

• Um die Daten aus den anderen packages zu laden benutzt man da Argument package z.b.:

• > data(package="akima")


Recommended