#Öffne die Hilfe help() #Öffne die Hilfe zur Funktion "mean" help(mean) #Suche "mean" in der Hilfe help.search("mean") # Groß- und Kleinschreibung unterscheiden x<-4 X #Zuweisung von Vektoren y<-c(2,3,8,4,2,0,3,1,6,4,3,9,7,0,4,2,7,6,5,4,2,1,8,10,3,5,7,3,2,5,9,8) # von 1 bis Länge von y in 10er-Schritten x<-seq(1, length(y),10) seq(1,10,1) 1:10 # Wiederholung rep(1, 10) #Zugriff auf die Elemente x # das 2. Element x[2] # das 2. und das 5. Element x[c(2,5)] # alle Elemente mit Wert >30 x[x>30] #Rechnen mit Vektoren s<-c(1,2,3) t<-c(4,5,6) s+t s*t s^2 s%*%t sum(s*t) sin(s) sqrt(s) exp(s) log(s+t) #Zusammenfügen von Vektoren # hintereinander z<-c(x,y) z # als Matrix, Vektoren als Spalten z<-cbind(x,y) z # als Matrix, Vektoren als Zeilen z<-rbind(x,y) z #Zugriff auf die Elemente #Spalte 3 z[,3] #Zeile 2 z[2,] #Plotten theta<-seq(0, 2*pi, pi/100) #als Punkte plot(theta,sin(theta)) #als Linie plot(theta,sin(theta), type="l") #als Histogramm hist(y) #... mit vorgegebenen Balken hist(y, breaks=seq(0,10,1)) plot(density(y)) #Beschriftungen plot(density(y), main="Dichte", xlab="r", ylab="Dichte") #Mittelwert, Varianz und Standardabweichung mean(y) var(y) sd(y) summary(y) #Geradenanpassung #Wildschweindaten x<-seq(2001,2009,1) y<-c(50,45,37,30,29,28,21,16,14) # von Hand mex<-mean(x) mex2<-mean(x^2) mey<-mean(y) mexy<-mean(x*y) ahat<-(mexy-mex*mey)/(mex2-mex^2) bhat<-mey-ahat*mex plot(x,y) r<-seq(2001,2010,1) lines(r, ahat*r+bhat) # über lm-Funktion lm(y~x) #Zum Vergleich: ahat bhat #Verteilungsfamilien r<-seq(0,20,0.001) #Dichte dnorm(r,mean=10,sd=4) plot(r,dnorm(r, mean=10,sd=4), type="l") #Verteilungsfunktion pnorm(r,mean=10,sd=4) plot(r,pnorm(r, mean=10,sd=4), type="l") #Quantile qnorm(0.5,mean=10,sd=4) qnorm(0.25,mean=10,sd=4) qnorm(0.75,mean=10,sd=4) #Zufallszahlen rnorm(mean=10,sd=4, n=200) x<-rnorm(mean=10,sd=4, n=200) hist(x) #Parameterschätzung #Stichprobe mit Normalverteilung mu=10, sigma=4 x<-rnorm(mean=10,sd=4, n=200) #Stichprobe mit Normalverteilung mu=11, sigma=4 y<-rnorm(mean=11,sd=4, n=200) mux<-mean(x) mux sigma2x<-var(x) sigma2x muy<-mean(y) muy sigma2y<-var(y) sigma2y #Konfidenzintervalle #für mu mit bekanntem sigma c(mux-qnorm(0.975)*4/sqrt(200), mux+qnorm(0.975)*4/sqrt(200)) #für mu mit unbekanntem sigma c(mux-qt(0.975, 199)*sd(x)/sqrt(200), mux+qt(0.975, 199)*sd(x)/sqrt(200)) #für sigma mit bekanntem mu c(200*mean((x-mux)^2)/qchisq(0.975,df=200), 200*mean((x-mux)^2)/qchisq(0.025,df=200)) #für sigma2 mit unbekanntem mu c(199*var(x)/qchisq(0.975,df=199), 199*var(x)/qchisq(0.025,df=199)) #für die Differenz von mux und muy c(mux-muy-qnorm(0.975)*sqrt(2*16/200), mux-muy+qnorm(0.975)*sqrt(2*16/200)) # qqplots qqplot(y,rnorm(mean=11, sd=4,n=200)) lines(seq(0,20,0.001), seq(0,20,0.001), col="red") qqplot(x,y) lines(seq(0,20,0.001), seq(0,20,0.001)) #von Hand a<-sort(x) b<-sort(y) points(a,b, col="red") #Daten speichern und einlesen write.table(x, file="Daten.dat") x2<-read.table("Daten.dat") #Zugriff als Spalte x2[[1]] #Zugriff über Name x2$x #Datensätze data()