Eine Einführung in R - WebHome · Allgemeine Informationen zu R I R erhalten Sie kostenlos auf der...

43
Eine Einf¨ uhrung in R Silke Rolles July 13, 2011

Transcript of Eine Einführung in R - WebHome · Allgemeine Informationen zu R I R erhalten Sie kostenlos auf der...

Eine Einfuhrung in R

Silke Rolles

July 13, 2011

Allgemeine Informationen zu R

I R erhalten Sie kostenlos auf der Webseite des R Project.http://www.r-project.org/

I Das Skript der “Einfuhrung in R” vom SS 2009 sowie dieR-Beispiele der “Einfuhrung in die Wahrscheinlichkeitstheorie”vom WS 2009/10 finden Sie auf der Vorlesungsseite.

I Einen Uberblick der wichtigsten Befehle gibt die R ReferenceCardhttp://cran.r-project.org/doc/contrib/Short-refcard.pdf

Allgemeine Informationen zu R

I R erhalten Sie kostenlos auf der Webseite des R Project.http://www.r-project.org/

I Das Skript der “Einfuhrung in R” vom SS 2009 sowie dieR-Beispiele der “Einfuhrung in die Wahrscheinlichkeitstheorie”vom WS 2009/10 finden Sie auf der Vorlesungsseite.

I Einen Uberblick der wichtigsten Befehle gibt die R ReferenceCardhttp://cran.r-project.org/doc/contrib/Short-refcard.pdf

Allgemeine Informationen zu R

I R erhalten Sie kostenlos auf der Webseite des R Project.http://www.r-project.org/

I Das Skript der “Einfuhrung in R” vom SS 2009 sowie dieR-Beispiele der “Einfuhrung in die Wahrscheinlichkeitstheorie”vom WS 2009/10 finden Sie auf der Vorlesungsseite.

I Einen Uberblick der wichtigsten Befehle gibt die R ReferenceCardhttp://cran.r-project.org/doc/contrib/Short-refcard.pdf

Allgemeine Informationen zu R

I Programmstart: R

I Programmende: q()

I Hilfefunktion: help()Hilfe zur Funktion rnorm: help(rnorm)

Allgemeine Informationen zu R

I Programmstart: R

I Programmende: q()

I Hilfefunktion: help()Hilfe zur Funktion rnorm: help(rnorm)

Allgemeine Informationen zu R

I Programmstart: R

I Programmende: q()

I Hilfefunktion: help()Hilfe zur Funktion rnorm: help(rnorm)

Verteilungen

Funktion Verteilungbeta() Beta-Verteilungbinom() Binomial-Verteilungchisq() χ2-Verteilungexp() Exponential-Verteilungf() F-Verteilunggamma() Gamma-Verteilunggeom() Geometrische Verteilunghyper() Hypergeometrische Verteilungnorm() Normalverteilungpois() Poissonverteilungt() t-Verteilungunif() Gleichverteilung

Verteilungen

Dem Namen der Funktion wird ein Buchstabe vorangestellt:

I d (density) Dichtefunktion

I p (probability) Verteilungsfunktion

I q (quantiles) Quantile

I r (random) Pseudo-Zufallszahlen

Verteilungen

Dem Namen der Funktion wird ein Buchstabe vorangestellt:

I d (density) Dichtefunktion

I p (probability) Verteilungsfunktion

I q (quantiles) Quantile

I r (random) Pseudo-Zufallszahlen

Verteilungen

Dem Namen der Funktion wird ein Buchstabe vorangestellt:

I d (density) Dichtefunktion

I p (probability) Verteilungsfunktion

I q (quantiles) Quantile

I r (random) Pseudo-Zufallszahlen

Verteilungen

Dem Namen der Funktion wird ein Buchstabe vorangestellt:

I d (density) Dichtefunktion

I p (probability) Verteilungsfunktion

I q (quantiles) Quantile

I r (random) Pseudo-Zufallszahlen

Verteilungen

Dem Namen der Funktion wird ein Buchstabe vorangestellt:

I d (density) Dichtefunktion

I p (probability) Verteilungsfunktion

I q (quantiles) Quantile

I r (random) Pseudo-Zufallszahlen

Eine Dichtefunktion plotten

Wir plotten die Dichte der N(0, 1)-Verteilung:

x < − seq(-5,5, by=0.005)plot(x,dnorm(x), type="l", xlab="x", ylab="f(x)",main="Dichte f der Standardnormalverteilung")

Dabei bedeutet:

I dnorm(x): Dichte der N(0,1)-Verteilung an der Stelle xDargestellt wird x 7→ dnorm(x) fur x ∈ [−5, 5] ∩ 0.005Z.

I type=l: Linien plotten

I xlab: Titel der x-Achse

I ylab: Titel der y-Achse

I main: Titel der Grafik

Eine Dichtefunktion plotten

Wir plotten die Dichte der N(0, 1)-Verteilung:

x < − seq(-5,5, by=0.005)plot(x,dnorm(x), type="l", xlab="x", ylab="f(x)",main="Dichte f der Standardnormalverteilung")

Dabei bedeutet:

I dnorm(x): Dichte der N(0,1)-Verteilung an der Stelle xDargestellt wird x 7→ dnorm(x) fur x ∈ [−5, 5] ∩ 0.005Z.

I type=l: Linien plotten

I xlab: Titel der x-Achse

I ylab: Titel der y-Achse

I main: Titel der Grafik

Die Verteilungsfunktion

Wir plotten die Verteilungsfunktion Φ der N(0, 1)-Verteilung:

x < − seq(-5,5, by=0.01)plot(x,pnorm(x), type="l", xlab="x", ylab="Phi(x)",main="Verteilungsfunktion Phi derStandardnormalverteilung")

Dabei ist pnorm(x)=Φ(x).Dargestellt wird x 7→ Φ(x) fur x ∈ [−5, 5] ∩ 0.01Z.

Quantile

I Das α-Quantil der N(0, 1)-Verteilung bestimmt man mitqnorm(α)

I Zum Beispiel berechnet man das 95%-Quantil mit demKommando qnorm(0.95)

Quantile

I Das α-Quantil der N(0, 1)-Verteilung bestimmt man mitqnorm(α)

I Zum Beispiel berechnet man das 95%-Quantil mit demKommando qnorm(0.95)

Die Quantilsfunktion

Wir plotten die Quantilsfunktion z der N(0, 1)-Verteilung:

x< −seq(0,1, by=0.005)plot(x,qnorm(x), type="l", xlab="x", ylab="z(x)",main="Quantilsfunktion z derStandardnormalverteilung")

Dabei ist qnorm(x)=z(x) die Quantilsfunktion an der Stelle x.Dargestellt wird x 7→ z(x) fur x ∈ (0, 1) ∩ 0.005Z.

Empirisches Mittel und empirische Varianz

I Wir erzeugen einen Vektor mit den Komponenten 3,7,5:x< −c(3,7,5)

I Empirisches Mittel von x:

x =1

n

n∑i=1

xi

mean(x)

I Empirische Varianz von x:

s2x =

1

n − 1

n∑i=1

(xi − x)2

var(x)

Empirisches Mittel und empirische Varianz

I Wir erzeugen einen Vektor mit den Komponenten 3,7,5:x< −c(3,7,5)

I Empirisches Mittel von x:

x =1

n

n∑i=1

xi

mean(x)

I Empirische Varianz von x:

s2x =

1

n − 1

n∑i=1

(xi − x)2

var(x)

Empirisches Mittel und empirische Varianz

I Wir erzeugen einen Vektor mit den Komponenten 3,7,5:x< −c(3,7,5)

I Empirisches Mittel von x:

x =1

n

n∑i=1

xi

mean(x)

I Empirische Varianz von x:

s2x =

1

n − 1

n∑i=1

(xi − x)2

var(x)

Empirische Kovarianz

Empirische Kovarianz von x und y:

sx ,y =1

n − 1

n∑i=1

(xi − x)(yi − y)

cov(x,y)

Erzeugung von Zufallszahlen

I Man kann n N(µ, σ2)-verteilte Zufallsvariablen mit demKommando

rnorm(n,mean=µ,sd=σ)

erzeugen.

I Beispiel: Erzeugung von 100 N(0, 1)-verteilten Zufallsvariablen

x< −rnorm(100,mean=0,sd=1)mean(x)var(x)

Erzeugung von Zufallszahlen

I Man kann n N(µ, σ2)-verteilte Zufallsvariablen mit demKommando

rnorm(n,mean=µ,sd=σ)

erzeugen.

I Beispiel: Erzeugung von 100 N(0, 1)-verteilten Zufallsvariablen

x< −rnorm(100,mean=0,sd=1)mean(x)var(x)

Lineare Regression

Modell:

Yi = γ0 + γ1xi + σξi , 1 ≤ i ≤ n.

Dabei sind

I xi ∈ R bekannt (1 ≤ i ≤ n)

I γ0, γ1 ∈ R, σ > 0 unbekannt

I ξi , 1 ≤ i ≤ n, unabhangig mit E [ξi ] = 0 und Var(ξi ) = 1.

Lineare Regression

Modell:

Yi = γ0 + γ1xi + σξi , 1 ≤ i ≤ n.

Dabei sind

I xi ∈ R bekannt (1 ≤ i ≤ n)

I γ0, γ1 ∈ R, σ > 0 unbekannt

I ξi , 1 ≤ i ≤ n, unabhangig mit E [ξi ] = 0 und Var(ξi ) = 1.

Lineare Regression

Modell:

Yi = γ0 + γ1xi + σξi , 1 ≤ i ≤ n.

Dabei sind

I xi ∈ R bekannt (1 ≤ i ≤ n)

I γ0, γ1 ∈ R, σ > 0 unbekannt

I ξi , 1 ≤ i ≤ n, unabhangig mit E [ξi ] = 0 und Var(ξi ) = 1.

Lineare Regression

Modell:

Yi = γ0 + γ1xi + σξi , 1 ≤ i ≤ n.

Dabei sind

I xi ∈ R bekannt (1 ≤ i ≤ n)

I γ0, γ1 ∈ R, σ > 0 unbekannt

I ξi , 1 ≤ i ≤ n, unabhangig mit E [ξi ] = 0 und Var(ξi ) = 1.

Lineare Regression

Modell: Yi = γ0 + γ1xi + σξi , 1 ≤ i ≤ n.Erwartungstreue Schatzer fur die unbekannten Koeffizienten γ0

und γ1 sind:

γ1 =SY ,x

s2x

γ0 =Y − γ1x = Y −SY ,x

s2x

· x

mit

Y =1

n

n∑i=1

Yi , x =1

n

n∑i=1

xi empirische Mittel

SY ,x =1

n − 1

n∑i=1

(Yi − Y )(xi − x) empirische Kovarianz

s2x =

1

n − 1

n∑i=1

(xi − x)2 empirische Varianz

Lineare Regression

Ein einfaches Beispiel:x <- c(1:10)xi <- rnorm(10)y <- 1+2*x+xilinearesmodell<-lm(y∼x)coef(linearesmodell)

Das bedeutet:

I x = (1, 2, 3, . . . , 10)

I yi = 1 + 2 · xi + ξi mit unabhangigen ξi ∼ N(0, 1).

I linearesmodell< −lm(y∼ x) besagt, dass zwischen yund x ein linearer Zusammenhang wie oben beschriebenbesteht.

I coef(linearesmodell) liefert γ0 und γ1.

Lineare Regression

Ein einfaches Beispiel:x <- c(1:10)xi <- rnorm(10)y <- 1+2*x+xilinearesmodell<-lm(y∼x)coef(linearesmodell)

Das bedeutet:

I x = (1, 2, 3, . . . , 10)

I yi = 1 + 2 · xi + ξi mit unabhangigen ξi ∼ N(0, 1).

I linearesmodell< −lm(y∼ x) besagt, dass zwischen yund x ein linearer Zusammenhang wie oben beschriebenbesteht.

I coef(linearesmodell) liefert γ0 und γ1.

Lineare Regression

Ein einfaches Beispiel:x <- c(1:10)xi <- rnorm(10)y <- 1+2*x+xilinearesmodell<-lm(y∼x)coef(linearesmodell)

Das bedeutet:

I x = (1, 2, 3, . . . , 10)

I yi = 1 + 2 · xi + ξi mit unabhangigen ξi ∼ N(0, 1).

I linearesmodell< −lm(y∼ x) besagt, dass zwischen yund x ein linearer Zusammenhang wie oben beschriebenbesteht.

I coef(linearesmodell) liefert γ0 und γ1.

Lineare Regression

Ein einfaches Beispiel:x <- c(1:10)xi <- rnorm(10)y <- 1+2*x+xilinearesmodell<-lm(y∼x)coef(linearesmodell)

Das bedeutet:

I x = (1, 2, 3, . . . , 10)

I yi = 1 + 2 · xi + ξi mit unabhangigen ξi ∼ N(0, 1).

I linearesmodell< −lm(y∼ x) besagt, dass zwischen yund x ein linearer Zusammenhang wie oben beschriebenbesteht.

I coef(linearesmodell) liefert γ0 und γ1.

Lineare Regression

Ein einfaches Beispiel:x <- c(1:10)xi <- rnorm(10)y <- 1+2*x+xilinearesmodell<-lm(y∼x)coef(linearesmodell)

Das bedeutet:

I x = (1, 2, 3, . . . , 10)

I yi = 1 + 2 · xi + ξi mit unabhangigen ξi ∼ N(0, 1).

I linearesmodell< −lm(y∼ x) besagt, dass zwischen yund x ein linearer Zusammenhang wie oben beschriebenbesteht.

I coef(linearesmodell) liefert γ0 und γ1.

Lineare Regression

I fitted(linearesmodell) liefert die Punkte (yi , γ0 + γ1xi )entlang der Regressionsgeraden.

I Man bezeichnet yi − (γ0 + γ1xi ), 1 ≤ i ≤ n, also dieMesswerte minus die gefitteten Werte, als Residuen.

I residuals(linearesmodell) liefert also dasselbe wief <- fitted(linearesmodell)y-f

I plot(x,y) plottet die Daten

I abline(linearesmodell) fugt die Regressionsgerade hinzu

Lineare Regression

I fitted(linearesmodell) liefert die Punkte (yi , γ0 + γ1xi )entlang der Regressionsgeraden.

I Man bezeichnet yi − (γ0 + γ1xi ), 1 ≤ i ≤ n, also dieMesswerte minus die gefitteten Werte, als Residuen.

I residuals(linearesmodell) liefert also dasselbe wief <- fitted(linearesmodell)y-f

I plot(x,y) plottet die Daten

I abline(linearesmodell) fugt die Regressionsgerade hinzu

Lineare Regression

I fitted(linearesmodell) liefert die Punkte (yi , γ0 + γ1xi )entlang der Regressionsgeraden.

I Man bezeichnet yi − (γ0 + γ1xi ), 1 ≤ i ≤ n, also dieMesswerte minus die gefitteten Werte, als Residuen.

I residuals(linearesmodell) liefert also dasselbe wief <- fitted(linearesmodell)y-f

I plot(x,y) plottet die Daten

I abline(linearesmodell) fugt die Regressionsgerade hinzu

Lineare Regression

I fitted(linearesmodell) liefert die Punkte (yi , γ0 + γ1xi )entlang der Regressionsgeraden.

I Man bezeichnet yi − (γ0 + γ1xi ), 1 ≤ i ≤ n, also dieMesswerte minus die gefitteten Werte, als Residuen.

I residuals(linearesmodell) liefert also dasselbe wief <- fitted(linearesmodell)y-f

I plot(x,y) plottet die Daten

I abline(linearesmodell) fugt die Regressionsgerade hinzu

Lineare Regression

I fitted(linearesmodell) liefert die Punkte (yi , γ0 + γ1xi )entlang der Regressionsgeraden.

I Man bezeichnet yi − (γ0 + γ1xi ), 1 ≤ i ≤ n, also dieMesswerte minus die gefitteten Werte, als Residuen.

I residuals(linearesmodell) liefert also dasselbe wief <- fitted(linearesmodell)y-f

I plot(x,y) plottet die Daten

I abline(linearesmodell) fugt die Regressionsgerade hinzu

Hypothesentests und Konfidenzintervalle

x < − rnorm(20,mean=0,sd=5)t <- t.test(x)fuhrt einen zweiseitigen t-Test H0 : µ = 0 gegen µ 6= 0 aus.

Beim Output ist

I t: Teststatistik

I df: degrees of freedom, also der Parameter n der tn-Verteilung

I p.value: p-Wert

I conf.level=0.95 bedeutet, dass ein 95%-Konfidenzintervallbestimmt wird.

Hypothesentests und Konfidenzintervalle

x < − rnorm(20,mean=0,sd=5)t <- t.test(x)fuhrt einen zweiseitigen t-Test H0 : µ = 0 gegen µ 6= 0 aus.Beim Output ist

I t: Teststatistik

I df: degrees of freedom, also der Parameter n der tn-Verteilung

I p.value: p-Wert

I conf.level=0.95 bedeutet, dass ein 95%-Konfidenzintervallbestimmt wird.

Hypothesentests und Konfidenzintervalle

x < − rnorm(20,mean=0,sd=5)t <- t.test(x,alternative="less",conf.level=0.99)fuhrt einen einseitigen t-Test H0 : µ = 0 gegen µ < 0 aus.Es wird ein 99%-Konfidenzintervall bestimmt.