Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm,...
-
Upload
bathilda-heis -
Category
Documents
-
view
107 -
download
0
Transcript of Einführung in R Seminar Stochastik im WS 02/03 Ein Vortrag von Viktoria Idt Universität Ulm,...
![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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/1.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/2.jpg)
• 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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/3.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/4.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/5.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/6.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/7.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/8.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/9.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/10.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/11.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/12.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/13.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/14.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/15.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/16.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/17.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/18.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/19.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/20.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/21.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/22.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/23.jpg)
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.](https://reader033.fdocument.pub/reader033/viewer/2022051314/55204d6349795902118b8bfb/html5/thumbnails/24.jpg)
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")