####################################################### #################Einführung in R####################### ####################################################### ######################Vektoren######################### ####################################################### #####Verschiedene Arten einen Vektor zu erzeugen:###### x<-c(1,5,7,3) ####durch eingabe der einzelnen Elemente x y<-2:5 ####durch Angabe von Anfangs- und Endwert y z<-rep(1, 4) ####ein Vektor mit vier Einsen z ###############Zugriff auf Elemente:################### x[1] x[2] ################Rechnen mit Vektoren:################## x+y x*y 1-x x^2 sin(x) exp(x) ###############Wichtige Funktionen##################### length(x) max(x) min(x) mean(x) sum(x) summary(x) ####################Funktionen######################### ####################################################### fkt<-function(u, v){ return (u+v) } s<-fkt(c(1,2), c(3,4)) s ####################For Schleifen###################### ####################################################### for(i in 1:5){ print(i) } ###########if und logische Operatoren################## ####################################################### x<-5 if (x != 5){ print("x ist ungleich 5") } else { print("x = 5") } y<-7 if (y > 5 & y < 10){ ######und print("y liegt zwischen 5 und 10") } else { print("y liegt nicht zwischen 5 und 10") } x<-4 y<-7 if (x == 5 | y > 10){ #####oder print("irgendwas") } else { print("irgendwas anderes") } ################Einlesen von Daten##################### ####################################################### data<-read.table("D:/Stochastik I/Übungsblätter/Einführung in R/bsp.data") #####hier ist die erste Zeile Bestandteil der Daten data2<-read.table("D:/Stochastik I/Übungsblätter/Einführung in R/bsp.data", header = T) #####so ist es besser! ## Zugriff auf die Spalten data2$name data2$gross ## Auswahl von Teilen des Datensatzes subset(data2, data2$name="a") subset(data2, data2$name=="a") nameA <- subset(data2, data2$name=="a") nameA subset(data2, data2$name=="a" & data2$gross > 9) ## Zugriff auf Zeilen und Spalten der Tabelle data2[[1]] ####1. Spalte data2[,1] ####1. Spalte data2[1,] ####1. Zeile data2[2,] ####2. Zeile data2[2,1] ####Element in 2. Zeile 1. Spalte ## Histogramme hist(daten$gross) hist(daten$gross, breaks=c(2,5,12)) # mit eigenen Begrenzungen der Bereiche help(hist) ## Boxplots boxplot(daten$gross) boxplot(daten$gross ~ daten$name) # der Datensatz wird anhand der Spalte "daten$name" eingeteilt #######################Plots########################### ####################################################### ## Punkteplots x <- 1:6 x y <- sqrt(x) plot(x, y) ## Funktionenplots plot(function(x) sin(x), xlab="x", ylab="sin(x)") plot(function(x){sin(x)}, 0, 5, xlab="x", ylab="sin(x)") # mit Bereich ##Punkteplot und Funktion in ein Schaubild mit "add=TRUE" plot(x, y, xlab="x", ylab="sin(x)", ylim=c(-1, 2.5), col="red") plot(function(x) sin(x), 0, 5, add=TRUE) plot(function(x) sin(x) + sqrt(x), xlim=c(0, 5), add=TRUE) plot(function(x) cos(x) + sqrt(x), xlim=c(0, 7), add=TRUE) ## Achtung, "add=TRUE" gibt es bei Punkteplots nicht! plot(y, x, add=TRUE) ###################Verteilungen######################## ####################################################### ## Bsp. Normalverteilung dnorm(0) # Dichte der Standardnormalverteilung an der Stelle 0 plot(function(x) dnorm(x), xlim=c(-5, 5)) # Plot der Dichte der Standardnormalverteilung plot(function(x) dnorm(x, 1, 2), xlim=c(-5, 5)) # Plot der Dichte der N(1, 4)-Verteilung plot(function(x) pnorm(x, 1, 2), xlim=c(-5, 5)) # Plot der Verteilungsfunktion der N(1, 4)-Verteilung plot(function(x) qnorm(x, 1, 2), xlim=c(0, 1)) # Plot der Quantilfunktion der N(1, 4)-Verteilung ## Simulation rnorm(10) # Simuliert 10 unabhängige standardnormalverteilte ZVen rnorm(10, 1, 2) # Simuliert 10 unabhängige N(1,4)-verteilte ZVen rexp(10) # Simuliert 10 unabhängige Exp(1)-verteilte ZVen rpois(10,1) # Simuliert 10 unabhängige Poi(1)-verteilte ZVen ## Ausgabe in PDF umlenken pdf("test.pdf") plot(function(x){qnorm(x, 1, 2)}, xlim=c(0, 1)) dev.off()