#-----------------------------# # Week 1 # #-----------------------------# 1) Installation von R: Auf den Hochschulrechnern ist das R schon installiert. Wenn Sie auf Ihrem eigenem Geraet das R noch nicht installiert haben, koennen Sie das folgendermassen machen: Gehen Sie auf die VL-Homepage und klicken Sie ganz unten auf "Die R-Software kann hier heruntergeladen werden". Dann, wenn Sie etwa wie ich ein Windows-PC haben, "Download R for Windows" und dann "install R for the first time". Waehlen Sie am besten die Default-Einstellungen und beantworten Sie eventuelle Fragen nach dem Einrichten eines neuen Folders mit "Ja". Das Ganze ist dann in etwa in 1 bis 2 Minuten erledigt, auf meinen Geraeten habe ich da bisher noch keine Probleme gehabt. Falls es doch Probleme geben sollte, koennen Sie etwa auch nach "Installation R Mac" oder etwa "Installation R Windows" googeln und sich unter Videos dann, je nach Geschmack, ein kuer- zeres oder laengeres Erklaervideo dazu anschauen. 2) Etwas Hintergrund zur R-Programmiersprache: Schauen Sie sich vielleicht mal ein bischen auf der Wikipedia- Seite um, https://de.wikipedia.org/wiki/R_(Programmiersprache) Also scrollen Sie einfach mal durch, da steht ja schon ziemlich viel drauf. Hier auszugsweise ein paar Saetze daraus (die Sachen in Klammern sind Kommentare von mir): * R wurde von Statistikern fuer statistische Fragestellungen entworfen und geht somit direkt auf die Beduerfnisse ein, die fuer solche Zwecke benoetigt werden, wenige Zeilen Code sind notwendig fuer komplexe statistische Probleme. Aufgrund des unkomplizierten Vorgehens werden viele neue statistische Methoden als Erstes in R implementiert. * R ist von der US Food and Drug Administration (untersteht dem amerikanischen Gesundheitsministerium) fuer medizinische Zwecke validiert. (also die benutzen das, etwa um Medikamente zuzulassen) * Beschaeftigte mit guten R-Kenntnissen, die an der Dice Tech Salary Survey (2013) teilnahmen, hatten ein hoeheres Durchschnittseinkommen als Beschaeftigte mit anderen IT-Fertigkeiten. * Die Standardbibliothek von R besteht aus 29 Paketen. Die wichtigsten 14 Pakete sind bei jedem Programmstart geladen, die weiteren 15 Pa- kete werden empfohlen. * Zentrales Archiv fuer Pakete ist das Comprehensive R Archive Network (CRAN) mit Haupt-Server an der Wirtschaftsuniversitaet Wien und zahlreichen Spiegelservern. Es gibt ueber 10000 Pakete auf CRAN. * Unter der Rubrik Task Views https://cran.r-project.org/web/views/ enthaelt CRAN eine Liste von 33 Themengebieten fuer welche eine kommentierte Beschreibung der fuer das Themengebiet relevanten Pakete vorhanden ist. (das ist wirklich sehr umfangreich, klicken Sie etwa mal auf den TaskView zu "Optimization") * Verschiedene Pakete bieten Schnittstellen zu anderen Programmier- sprachen, die zur Performance-Optimierung und zur Erweiterung des Funktionsumfangs eingesetzt werden. Damit wird zum Beispiel die Verwendung von C++-Funktionen ermoeglicht (man hat dann also den Vorteil, dass man die doch recht einfache und intuitive R-Syntax benutzen kann, aber trotzdem C/C++ performance bekommt was die Geschwindigkeit angeht; also R wird da mitunter auch nur als wrapper benutzt). 3) Buch: In dem folgenden Buch "Using R for Numerical Analysis in Science and Engineering", http://hsrm-mathematik.de/WS2122/semester4/Datenanalyse-mit-R/book.pdf werden wir in den Uebungen einige sections lesen. Der Link dazu ist also einfach die VL-Homepage und dann am Ende ein book.pdf da dranhaengen. 4) Elementares Rechnen mit Zahlen und Vektoren: Wir schauen uns noch ein paar Beispiele an. Starten Sie dazu jetzt eine R-Session. ### START R-SESSION ### # Fuer das Anlegen von Vektoren gibt es im wesent- # lichen 3 Befehle, c(), seq() und rep(): v1 = c(2.22,-4.56,29) # "c" fuer "concatenate" v1 v2 = seq(from=10,to=30,by=2) v2 v3 = seq(from=0,to=2*pi,length=100) v3 plot(sin(v3)) # R rechnet immer element-weise plot(sin(v3),type="l") points(cos(v3)) # addiert Punkte zu einem bestehendem plot lines(cos(v3),col="red") # dasselbe wie points, nur in linienform ?plot() # Hilfe-Seiten v4 = rep(2,10) v4 v5 = rep(c(77,33),4) v5 # fuer Vektoren mit Schrittweite 1 (oder -1): v6 = 1:10 v6 v7 = 10:30 # hat immer Schrittweite 1 (oder -1) v7 v8 = 4:(-4) v8 v8[1] v8[2] v8[7:9] v8[7:11] # viele Funktionen geben automatisch Vekoren zurueck: x = runif(1000,min=-5,max=5) # 1000 auf dem Intervall [-5,5] # gleichverteilte Zufallszahlen x plot(x) plot(x,ylim=c(-10,10)) hist(x) hist(x,xlim=c(-10,10)) y = rnorm(1000,mean=0,sd=1) # normalverteilte Zufallszahlen plot(y) hist(y) test = (y>0) # logischer vector test ypos = y[test] # nur die positiven y's ypos hist(ypos) hist(ypos,breaks=30) yneg = y[y<0] yneg y0 = ifelse( y>0, y, 0 ) # alle negativen werden y0 # durch 0 ersetzt summary(y) summary(y0) max(y) n = which.max(y) # wo ist das Maximum? y[n] # = max(y) w = sort(y) # der Groesse nach ordnen w plot(w) rank(y) # das kleinste, zweit-kleinste, dritt-kleinste... rank(w)