36
Einführung in R SS2007 PD Dr. Matthias Fischer und Danny Stadelmayer 25. April 2007 SS2007 () R Einführung 19. April 2007 1 / 36

Einführung in R SS2007 - uni-bamberg.de · Allgemeines R ist: Statistik Software: S-Plus, SPSS, STATA .... und R Ständig wachsendes Programm...nicht nur als Taschenrechner verwendbar...wird

Embed Size (px)

Citation preview

Einführung in RSS2007

PD Dr. Matthias Fischer und Danny Stadelmayer

25. April 2007

SS2007 () R Einführung 19. April 2007 1 / 36

Gliederung

1 Allgemeines

2 Installation

3 Daten ein- und auslesen

4 Rechnen mit R

5 Grafiken und Verteilungen

SS2007 () R Einführung 19. April 2007 2 / 36

Allgemeines

R ist:Statistik Software: S-Plus, SPSS, STATA .... und R

Ständig wachsendes Programm

...nicht nur als Taschenrechner verwendbar

...wird auch für eigene Programmierungen genützt

Homepage: http://cran.r-project.org/

...für downloads, Dokumentationen usw.

Große Anzahl an Büchern und Informationen im Internet vorhanden

Jeder kann sein individuelles R-Packet schreiben und einbinden

SS2007 () R Einführung 19. April 2007 3 / 36

Installation

Download/Installation R1 http://cran.r-project.org/

2 Betriebssystem wählen

3 base wählen

4 R-2.4.1-win32.exe wählen und lokal speichern

5 Ausführen der Datei R-2.4.1-win32.exe

SS2007 () R Einführung 19. April 2007 4 / 36

Installation

SS2007 () R Einführung 19. April 2007 5 / 36

Installation

SS2007 () R Einführung 19. April 2007 6 / 36

Installation

SS2007 () R Einführung 19. April 2007 7 / 36

Installation

SS2007 () R Einführung 19. April 2007 8 / 36

Installation

Starten des Programms...

SS2007 () R Einführung 19. April 2007 9 / 36

Installation

Wichtig ist:R unterscheidet Groß- und Kleinschreibung.

die Variablennamen c und t sind bereits durch Funktionen belegt.

Dezimalpunkte müssen verwendet werden.

R ist bereit wenn > erscheint.

die Eingabe ist unvollständig wenn + erscheint.

R speichert nicht automatisch.

Abruf bereits verwendeter Befehle durch ↑ und ↓

SS2007 () R Einführung 19. April 2007 10 / 36

Installation

Menü Pakete −→ Installiere Pakete...(aus dem Internet)

SS2007 () R Einführung 19. April 2007 11 / 36

Installation

Menü Pakete −→ Installiere Pakete aus lokalen ZIP-Dateien...(vonDatenträger)

SS2007 () R Einführung 19. April 2007 12 / 36

Installation

PackagesAllgemeine Funktionen sind direkt nach dem Start verfügbar

Spezielle Funktionen können durch sog. packages eingebunden werden

Anzeigen bereits eingebundener packages durch search()

Potenzielle aber noch nicht eingebundene packages können durchlibrary() eingesehen werden

Weitere Zusatzpackages müssen erst installiert werden um sie danachüber den library(packagename) einzubinden

Informationen über das package erhält man durchlibrary(help=packagename)

SS2007 () R Einführung 19. April 2007 13 / 36

Installation

Die Hilfe in RMit dem Befehl help.start() bzw. mittels Hilfe/HTML Hilfe ausder Menüleiste wird die Hilfefunktion gestartet.

Der Aufruf help(such.begriff) bzw. ?such.begriff liefertHilfe/Dokumentation zu dem (exakten!) Begriff such.begriff.

Mit dem Befehl apropos(such.begriff) werden alle Objekte gelistet,die auf den Begriff bzw. auf die Funktion such.begriff zurückgreifen.

SS2007 () R Einführung 19. April 2007 14 / 36

Daten ein- und auslesen

Dateneingabe über TastaturGeringe Datenmengen können über Tastatur mittels scan eingegebenwerden, z.B. datenneu=scan().

Ein Leerzeichen oder das Betätigen der Return-Taste markieren einenneuen Datenpunkt. Der „Eingabemodus“ wird durch zweimaligesBetätigen der Return-Taste verlassen.

Ist ein Datensatz bzw. sind mehrere Datensätze bereits definiert, sokönnen diese bequem mittels data.entry modifiziert bzw. erweitertwerden.

> x=1:10> y=2:11> data.entry(x,y)

SS2007 () R Einführung 19. April 2007 15 / 36

Daten ein- und auslesen

Einlesen von Daten aus externen DateienDatenimport mittels read.table (für unterschiedliche Datentypen!)

read.table(file, header = FALSE, sep =, dec = “.“)

Es können u.a. folgende Spezifikation festgelegt werden: Pfad inkl.Dateinamen (file), Trennzeichen zwischen den Datenpunkten (sep),Trennzeichen für Dezimalstellen (dec) und das Vorhandensein einerüberschrift (header). Weitere Optionen: Spaltenüberschriften(col.names) bzw. Zeilenüberschriften (row.names).

→ erzeugt einen Data.frame in R.

Beispiel: kdat=read.table(“d:/rkurs/kontodaten.dat“,TRUE).

SS2007 () R Einführung 19. April 2007 16 / 36

Daten ein- und auslesen

Auslesen von Daten in externen Dateienmittels write.table

mittels cat

mittels write

mittels sink

mittels save

SS2007 () R Einführung 19. April 2007 17 / 36

Rechnen mit R

Mathematische Operatoren

Operator Operation Beispiel+ Addition 1+3- Subtraktion 1-3* Multiplikation 1*3∧ Potenzierung 1∧3/ Division 4/3%% Divisionsrest 4%%3%/% Ganzzahlige Division (ohne Rest) 4%/%3

SS2007 () R Einführung 19. April 2007 18 / 36

Rechnen mit R

VergleichsoperatorenOperator Operation Beispiel (a=2,b=1)> größer als 3>5 → FALSE< kleiner als 4<4 → FALSE== genau gleich a==4 → FALSE!= ungleich b!=5 → TRUE>= größer gleich a>=b → TRUE<= größer gleich a<=3 → TRUE

SS2007 () R Einführung 19. April 2007 19 / 36

Rechnen mit R

Logische bzw. Boolsche OperatorenOperator Operation Beispiel (a=2,b=0)! nicht !b → TRUE& und a&b → FALSE| oder a|b → TRUExor oder (ausschließlich) xor(a,b) → TRUEisTRUE Prüfung auf WAHR isTRUE(a) → FALSE

SS2007 () R Einführung 19. April 2007 20 / 36

Rechnen mit R

Elementare mathematische FunktionenFunktion Beschreibungsqrt(x) Wurzelfunktion f(x) =

√x

abs(x) Betragsfunktion f(x) = |x|exp(x) Exponentialfunktion f(x) = ex

log(x,base = exp(1)) Logarithmuslog10(x)/log2(x) Logarithmussin(x)/cos(x)/tan(x) Sinus/Kosinus/Tangens (SKT)asin(x)/acos(x)/atan(x) Arcus SKTsinh(x)/cosh(x)/tanh(x) SKT Hyperbolicusasinh(x)/acosh(x)/atanh(x) Arcus SKT Hyperbolicusgamma(x)/lgamma(x) (logarithmierte) Gamma-Funktionpsigamma(x,deriv=0) Psigamma-Funktiondigamma(x) Digamma-Funktionbeta(a,b)/lbeta(a,b) (logarithmierte) Beta-FunktionbesselI(x,nu)/besselJ(x,nu) Modifizierte Bessel-FunktionbesselK(x,nu)/besselY(x,nu) Modifizierte Bessel-Funktion

SS2007 () R Einführung 19. April 2007 21 / 36

Rechnen mit R

Elementare FunktionenR-Funktion Beschreibungchoose(n, k) Binomialkoeffizient

(nk

)lchoose(n, k) log

(nk

)factorial(x) Fakultät n!lfactorial(x) log n!

R-Funktion Beschreibunground(x,digits=0) Mathematische Rundungsignif(x,digits=0) Mathematische Rundungzapsmall(x) Mathematische Rundungceiling(x) Nächstgrößere ganze Zahlfloor(x) Nächstkleinere ganze Zahltrunc(x) Abschneiden der Nachkommastellen

SS2007 () R Einführung 19. April 2007 22 / 36

Rechnen mit R

Erzeugung von VektorenMittels des Combine-Befehls c:x=c(1,4,3,5) oder x=c(1,2,3,4)

Mittels des :-Operators:x=1:4 oder x=10:1

Mittels des sequence-Befehls:seq(-2,4,2) oder seq(-2,4„2)

Mittels des rep-Befehls:rep(1,10) oder rep(c(1,3),c(2,4))

Durch Kombination der obigen Befehle:c(1:10,rep(2,3),seq(0,1„200))

SS2007 () R Einführung 19. April 2007 23 / 36

Rechnen mit R

Selektion von Elementen eines VektorsR-Befehl Beschreibungx[3] Element 3x[c(1,3)] Element 1 und 3x[3:5] drittes bis fünftes Elementx[-3] Vektor ohne drittes Elementx[-c(1,3)] Vektor ohne erste und drittes Elementx[x>3] Alle Elemente größer als 3x[x<1|x>3] Alle Elemente größer als 3 oder kleiner als 1x[x<1&x>3] Alle Elemente größer als 3 und kleiner als 1R-Funktion Beschreibungany(x>0) TRUE, falls ein Element positiv, sonst FALSEall(x>0) TRUE, falls alle Element positiv, sonst FALSEwhich(x>0) Indizes der Elemente, die größer als 0 sindappend(x,values,after) Verketten von Vektoren

SS2007 () R Einführung 19. April 2007 24 / 36

Rechnen mit R

Funktionen für VektorenR-Funktion Beschreibunglength(x) Länge des Vektorssum(x) Summe der Elementemean(x)/median(x) Mittelwert/Median der Elementevar(x) Varianz der Elemente mit 1/(n− 1)cumsum(x) Laufende Summeprod(x) Produkt der Elementecumprod(x) Laufendes Produktmax(x) Größtes Elementcummax(x) Laufendes Maximummin(x)/cummin(x) Minimum/Laufendes Minimumrange(x) Minimum und Maximumsort(x,decreasing = FALSE) Sortierung der Elementerank(x) Rangbildungrev(x) Vektor in umgekehrter Reihenfolgeunique(x) Vektor ”ohne Ties”

SS2007 () R Einführung 19. April 2007 25 / 36

Rechnen mit R

Funktionen für VektorenR-Funktion Beschreibungdiff(x) Vektor der ersten Differenzensgn(x) Vektor der Vorzeichenwhich.max(x) Index des Maximumswhich.min(x) Index des Minimumsis.vector(x) TRUE falls Objekt x ein Vektorna.omit(x) Vektor ohne NA’sna.fail(x) Fehlermeldung falls NA in Vektor

SS2007 () R Einführung 19. April 2007 26 / 36

Rechnen mit R

Erzeugung von MatrizenErzeugung einer Matrix mit dem R-Befehl matrixelemente=c(1,1,1,2,3,4,6,7,3) # Eingabe als Vektor!matrix(elemente,ncol=3,nrow=3,byrow=FALSE)Spaltenweise Anordnung der Elemente in drei Spalten und drei Zeilen.

Diagonal-Matrizen: diag(a) bzw. diag(c(1,2,3))

SS2007 () R Einführung 19. April 2007 27 / 36

Rechnen mit R

Operatoren für MatrizenOperator Operation+,- Elementweise Addition/Subtraktion*,/ Elementweise Multiplikation/Division%*% Matrix-Multiplikation%x% Kroneckerprodukt, vgl. auch kronecker%o% äußeres Produkt, vgl. auch outert(x) Transponierungsolve(x) Invertierung

SS2007 () R Einführung 19. April 2007 28 / 36

Rechnen mit R

Selektion von Elementen einer MatrixR-Befehl BeschreibungA[1,3] Element in Zeile 1 und Spalte 3A[1,] erste ZeileA[,2] zweite SpalteA[c(1,4),] erste und vierte ZeileA[-c(1,4),] Matrix ohne erste und vierte ZeileR-Funktion Beschreibungcrossprod(A,B) Berechne A′A bzw. A′BcolSums(A) Spaltensumme der Matrix ArowSums(A) Zeilensumme der Matrix Acolnames(A) Spaltennamen übergebenrownames(A) Zeilennamen übergebenrbind(A,B)/cbind(A,B) Verbinde Matrizen zeilenweise bzw. spaltenweiselower.tri/upper.tri(A) TRUE/FALSE falls im unteren/oberen Bereichapply(A,1,mean) Mittelwert über alle Zeilenapply(A,2,mean) Mittelwert über alle Spalten

SS2007 () R Einführung 19. April 2007 29 / 36

Rechnen mit R

Funktionen für MatrizenR-Funktion Beschreibungncol(x) Anzahl der Spaltennrow(x) Anzahl der Zeilenlength(x) Anzahl der Elementedim(x) Dimensiondiag(x) Hauptdiagonalediag(a) Einheitsmatrix (a ∈ N)solve(x) Inverse Matrixchol2inv(x) Inverse Matrix (mittels Cholesky)det(x) Determinante der Matrixeigen(x) Eigenwerte/vektoren der Matrixt(x) transponierte Matrixqr(x) QR-Zerlegungsvd(x) Singulärwert-Zerlegungchol(x) Cholesky-Zerlegung

SS2007 () R Einführung 19. April 2007 30 / 36

Rechnen mit R

Funktionen für Zeichenketten (Strings)

Funktion Beschreibungcat Ausgabe von Objekten

paste Fusion von Zeichenkettennchar Anzahl der Zeichen

charmatch Matchen von Zeichenkettensubstr(x, start, stop) Teile einer Zeichenkette

SS2007 () R Einführung 19. April 2007 31 / 36

Grafiken und Verteilungen

Der Plot-BefehlR stellt umfangreiche Grafikmöglichkeiten zur Verfügung, starte z.B.demo(graphics).

Der wichtigste Befehl zur Erzeugung von Grafiken ist plot.

> x=seq(-4,4,,200)> y=x^2> plot(x,y)

Grafiken werden gemäß fest definierter Grafikparameter erzeugt. Diesekönnen mittels par verändert werden.

SS2007 () R Einführung 19. April 2007 32 / 36

Grafiken und Verteilungen

Der Plot-BefehlAusgewählte Optionen des Plot-Befehls: plot(x,y,option).

option Beschreibung Beispieladd überlagerung der letzten Plots add=TRUEaxes Anzeigen der Achsen axes=FALSEcol Farbe col=2type Art des Plots col=“l“/“p“/“b“/“o“/“h“lwd Linienstärke lwd=2main überschrift main=“Histogramm“sub Unterschrift sub=“Werte“xlab Titel für x-Achse xlab=“x“ylab Titel für y-Achse ylab=“f(x)“xlim Ober-/Untergrenze für x-Achse xlim=c(0,2)ylim Ober-/Untergrenze für y-Achse ylim=range(x)pch Symbol für Punktgröße pch=1.2cex Symbolgröße cex=1.2

SS2007 () R Einführung 19. April 2007 33 / 36

Grafiken und Verteilungen

GrafikfunktionenZur Darstellung eindimensionaler Daten.

R-Befehl Beschreibungplot Indexplot, Stabdiagramm, empirische CDFcurve Erzeugung mathematischer Kurvenboxplot Boxplotbarplot Säulendiagrammdotchart Cleveland-Dot-Charthist Histogrammpie Kreisdiagrammqqnorm Quantil-Plot für Normalverteilungqqplot Quantil-Quantil-Plotstripchart Eindimensionales Streudiagrammstem Stem&Leaf-Diagramm

SS2007 () R Einführung 19. April 2007 34 / 36

Grafiken und Verteilungen

VerteilungenR bieten Funktionen für Dichten ( density function),Verteilungsfunktionen ( probability function) und der Quantile (quantile function) von diversen Verteilungen sowie zur Erzeugung vonZufallszahlen ( random number) aus diversen Verteilungen.

Jede Funktion hat zwei BestandteileFunktionskürzel (d,p,q,r) + Verteilungskürzel (norm,t,f,...)

Beispiele:

Funktion Beschreibungdnorm(1,0,2) Normaldichte (µ = 0, σ = 2) an der Stelle x = 0rnorm(10) 10 Zufallszahlen aus Standard-Normalverteilungpt(0.5,1) t(1)-Verteilungsfunktion an Stelle x = 0.5qbinom(0.9,10,0.5) 90%-Quantile (Binomialvert.) mit n = 10, p = 0.5

SS2007 () R Einführung 19. April 2007 35 / 36

Grafiken und Verteilungen

VerteilungenKürzel Verteilung Paketexp Exponential-Verteilungnorm Normalverteilungt Student-t-Verteilungf F-Verteilungchisq χ2-Verteilunglogis Logistische Verteilungbinom Binomialverteilungpois Poissonverteilunglnorm Lognormalverteilungsymstb Symmetrische Stabile Verteilung fBasicsstable Schiefe Stabile Verteilung fBasicsgh Verallg. hyperbolische Verteilungen fBasicshyp Hyperbolische Verteilung fBasicsnig Normal inverse Gauss Verteilung fBasics

SS2007 () R Einführung 19. April 2007 36 / 36