# ---------- --------- Skelette --------- -------- # # ------- Funktion myfunc = function(x,y,z){ myfunc = x+y+z } # ------- For-Schleife # meistens ist vektorenweise Rechnung besser/schneller! n = 3 for( i in 1:n ){ print(i^i) } # ------- If-Else if( x == 1){ x = 2 }else{ x = 1 } # ------- infinity , Not A Number, Not Available -Inf Inf NaN NA # ------- Fakult‰t factorial(x) # ------- k aus N choose(N,k) # ------- alle Kombinationen von Elementen ohne RF ?combn x = c("A","B","C","D") combn(x,3) # ------- alle Kombinationen mit RF ?expand.grid expand.grid(x,x,x) # ------- min, max and more mean() median() min(), max() var(),cov(),cor() sd() summary() quantile() length() range() # ------- Tabellen table() # Tabelle aus Daten ftable() # H‰ufigkeitstabelle xtabs(Freq~V1+V2+V3)# alternative (bessere?) Tabellenfunktion # ------- ------- Distributions ------- ------- # # Alle Verteilungen haben dieselbe Form: # Buchstabe + Bezeichnung # Die Buchstaben sind d (Dichte) , p (Verteilung), q (Quantile) und r (Random Sample) # Die Bezeichnungen sind (zB hier als Dichten) ?dbinom ?dnbinom ?dhyper ?dpois # uvm... finden kann man sie aber auch ¸ber: ?Binomial ?NegBinomial ?Hypergeometric ?Poisson # ------- Beispiel Poissonverteilung mit lambda = 20 dpois(19:21,lambda=20) sum(dpois(19:21,lambda=20)) ppois(21,lambda=20) - ppois(18,lambda=20) qpois(0.5,lambda=20) S = rpois(100,lambda=20) median(S) # ------- N¸tzliche Funktionen f¸r Vektoren: ------- # # ------- Wiederholungen: rep(1,20) rep(c("A","B"),20) # ------- Sequences seq(0,10,2) seq(0,5,0.75) # ------- leere Vektoren zur Bef¸llung rep(NA,5) v = vector(mode= "numeric", length=20) # es gibt auch "logical", "integer", "numeric", "complex", "character" und "raw" # L‰nge length( rep(1,20) ) # ------- Sortieren und Rangfolgen x = rpois(20,lambda=500) rank(x) sort(x,index.return=T) order(x,decreasing =F) # ------- Zusammenf¸gen x = rpois(20,lambda=500) y = rep(c("A","B","C","D"),5) cbind(x,y) rbind(x,y) # ------- ------- Matrizen ------- ------- # a = c(1:12) matrix(a,ncol=3) matrix(a,ncol=3,byrow=T) A = matrix(a,ncol=3,byrow=T) B = matrix(a,ncol=4,byrow=T) # Matrixmultiplikation A %*% B # Transponierte t(A) # Inverse (ginv in Paket MASS) ginv( A %*% B ) # ------- ------- Klassen ------- ------- # factor #Faktoren / Kategorien integer #ganze Zahlen double #stetige Zahlenwerte logical #Wahrheitswerte x = 1:9 y = factor(c("A","B","C","S","B","A")) # Klasse pr¸fen: is.integer(x) is.factor(y) is.factor(x) # casten as.integer(y) # Faktoren: # Anzahl Levels und Levels nlevels(y) levels(y) # ------- ------- Datens‰tze ------- ------- # # einiges zu Datens‰tzen library(MASS) data(Animals) # laden in workspace attach(Animals) # variablennamen sichtbar nrow(Animals) ncol(Animals) dim(Animals) row.names(Animals) names(Animals) # spaltennamen Animals[,1] Animals[4,] Animals$brain[4] # ------- ------- Logikfunktion ------- ------- # #Indizes t1 = which(Animals$brain > mean(Animals$brain)) # T/F Vektor t2 = Animals$brain > mean(Animals$brain) Animals[t1,] Animals[t2,] # ------- ------- Grafiken ------- ------- # # Einlesen der Daten und Einbinden in Suchpfad ecotest <- read.table("~/Univ Augsburg/Lehre/WS0809/StochIWT/Datensaetze/ecotest.txt", header = TRUE, sep = "\t", quote = "") # deinen Pfad eintragen attach(ecotest) # --------- Pie Chart # show.unwin = F !! pie(table(class),col=rainbow(7)) # --------- Barchart barplot(table(class),col=rainbow(7)) # --------- Histogramm library(lattice) histogram(fuelcons) # --------- Grafikparameter #sind oft in ?par # zu finden # einige wichtige sind: col # Farbe(n), Zahl oder Vektor ylim # Achsenextrema xlim # lwd # Linien- und Punktst‰rke pch # Punktsymbol, 19:22 sind beliebt cex # Schriftgrˆfle cex.axis # Achsen-... main # ‹berschrift xlab # Achsenbeschriftung ylab add # zu bestehendem Plot hinzuf¸gen? # --------- Linien # horizontale/vertikale Linien oder Intercept und Slope abline(h,v,a,b) # Punkte mit Linien verbinden ?lines # --------- weitere Punkte hinzuf¸gen ?points # ------- ------- Zusammenfassendes ------- ------- # tapply(fuelcons,class,mean) summary(Animals) summary(ecotest)