1. Veranstaltung

Werbung
Einführung in die Software R: Unterstützung für Teilnehmer der
Veranstaltung „Statistische Methodenlehre 1“
1. Veranstaltung 31.10.2000
Diese Veranstaltung zum Herunterladen:
http://www.statoek.wiso.uni-goettingen.de/user/fred/rgrund.htm
Allgemeine Information, neueste Versionen zum Herunterladen:
http://www.ci.tuwien.ac.at/R/
Zum Herunterladen:
http://www.statoek.wiso.uni-goettingen.de/veranstaltungen/statistik3/daten/
Einführung in R zum Herunterladen:
http://www.statoek.wiso.uni-goettingen.de/service/rskript.htm
R auf CD beim ADW zu Sprechzeiten zum Selbstkostenpreis von 2DM.
www.stud.uni-goettingen.de/~adw
Ein- und Ausgabe, Grundrechenarten
>1+3 # Eingabe Addition; # ist Kommentarzeichen
[1] 4 # Ausgabe des Ergebnisses
> 2-5 # Subtraktion
[1] –3 # Ergebnis
> 7*3 # Multiplikation
[1] 21 # Ergebnis
> 8/4 # Division
[1] 2 # Ergebnis
> 1.234 # Eingabe einer Zahl; Dezimalpunkt statt Komma
[1] 1.234 # Ausgabe
> 1.2+2.3 # Addition von Dezimalzahlen
[1] 3.5 # Ergebnis
> 3^2 # Quadrate
[1] 9 # Ergebnis
> 3^4 # Potenzen
[1] 81 # Ergebnis
Wurzeln?
> 3^1/2 # Falsch! Dies ist (3^1)/2
[1] 1.5 # Ergebnis
> 3^(1/2) # Richtig! Wurzel als Potenz
[1] 1.732051
> sqrt(3) # Wurzel mit Funktion sqrt
[1] 1.732051
Exponential- und Logarithmusfunktionen
> exp(1) # Exponentialfunktion an der Stelle 1
[1] 2.718282
> exp(2.23) # Exponentialfunktion an der Stelle 2.23
[1] 9.299866
> exp(-3) # Exponentialfunktion an der Stelle -3
[1] 0.04978707
> log(4) # Logarithmus von 4
[1] 1.386294
> log(10) # Logarithmus von 10
[1] 2.302585
Welcher Logarithmus ist das?
> log(10,10) # Eingabe: Erklärung folgt weiter unten
[1] 1
Was bedeutet das nun?
> ?log # Hilfe zu log
oder
> help(log) # Hilfe zu log
> log(10,10) # Eingabe Zehnerlogarithmus
[1] 1 # Ergebnis
> log(10) # Eingabe natürlicher Logarithmus
[1] 2.302585 # Ergebnis
> log10(10) # Zehnerlogarithmus von 10 mit der Funktion log10
[1] 1 # Ergebnis
> log10(100) # Zehnerlogarithmus von 100
[1] 2 # Ergebnis
> log(100,10) # Zehnerlogarithmus von 100
[1] 2
> log(100,base=10) # Zehnerlogarithmus von 100, base ist ein Argument der Funktion
log
[1] 2
Argumente einer Funktion werden in runden Klammern angegeben, sie werden durch Kommata
getrennt. Sie sind entweder in der richtigen, in der Hilfe ersichtlichen Reihenfolge oder mit
Argumentname = Wert anzugeben. Es gibt verlangte Argumente, die immer beim Aufruf
anzugeben sind und optionale Argumente, denen bei der Definition der Funktion ein Defaultwert
zugewiesen wurde.
> log2(4) # Logarithmus von 4 zur Basis 2
[1] 2
> log2(8) # Logarithmus von 8 zur Basis 2
[1] 3
Es gibt verschiedene Möglichkeiten in die Hilfe zu gelangen. Komfortabel: Hilfe zu log über die
Kommandozeile, HTML, dann Function auswählen und auf "L" klicken, log suchen, See Also
auf sqrt klicken. Es gibt hier Links zu verwandten Funktionen.
> c(1,2,3) # Die Funktion c verbindet Zahlen zu einem Vektor
[1] 1 2 3
> c(1,2,3)+c(1,1,1)# zwei Vektoren werden komponentenweise addiert.
[1] 2 3 4
> c(1,2,3)+c(2,1,3)
[1] 3 3 6
> c(1,2,3)-c(2,1,3) )# zwei Vektoren werden komponentenweise subtrahiert
[1] -1
1
0
> c(1,2,3)*c(2,1,3) )# zwei Vektoren werden komponentenweise multipliziert in R!!!
[1] 2 2 9
> c(1,2,3)/c(2,1,3) )# zwei Vektoren werden komponentenweise dividiert in R!!!
[1] 0.5 2.0 1.0
> log(c(1,2,3)) # Die Funktion log wird auf jede Komponente des Vektors angewendet
[1] 0.0000000 0.6931472 1.0986123
> log(c(1,2,3),10) # Zehnerlogarithmus eines Vektors
[1] 0.0000000 0.3010300 0.4771213
> sqrt(c(1,2,3)) Die Funktion sqrt wird auf jede Komponente des Vektors angewendet
[1] 1.000000 1.414214 1.732051
> print(sqrt(c(1,2,3)),digits=3) # formatierte Ausgabe mit der Funktion
print und dem Argument digits
[1] 1.00 1.41 1.73
Unvollständige Eingabe
> c(1,2,3)*c(2,1,3 # Eingabe unvollständig, Abschlussklammer fehlt
+ ) # R antwortet mit einem Pluszeichen als Folgeprompt, d.h. die Eingabe kann fortgesetzt
# werden. Möglichkeit, um längere Eingaben über mehrere Zeilen auszuführen.
[1] 2 2 9
Erzeugung von R-Objekten, Speichern, Namenszuweisung
Um z.B. Vektoren, die man wiederholt benutzt, wie oben den Vektor c(1,2,3), nicht immer
wieder neu eintippen zu müssen, kann man ihnen einen Namen in R zuweisen und damit ein RObjekt erzeugen, das während der ganzen Sitzung erhalten bleibt. Um es darüber hinaus zu
erhalten, muss am Ende der Sitzung das sogenannte workspace image gespeichert (evtl. Diskette
mitbringen in die Übung) werden.
> x1<-c(1,2,3) # Speichert den Vektor c(1,2,3) in x1
Durch das Zeichen <- wird dem Vektor c(1,2,3) der Name x1 zugewiesen. Namen können
aus Buchstaben und Zahlen bestehen, wobei das erste Zeichen keine Zahl sein darf. Es sollten
keine Namen doppelt vergeben werden, da vorhandene Objekte überschrieben werden. Namen
von in R implementierten Objekten, Funktionen sollten vermieden werden.
> x2<-c(2,1,3) # Speichert den Vektor c(2,1,3) in x2
> x1 # Eingabe
[1] 1 2 3 # Ausgabe
> x2
[1] 2 1 3
> x1*x2 # Produkt aus x1 und x2
[1] 2 2 9
> x1/x2 # Quotient aus x1 und x2
[1] 0.5 2.0 1.0 # Ausgabe
> y<-x1/x2 # Quotient aus x1 und x2 in y schreiben
>
# Es erscheint keine Ausgabe, lediglich das Promptzeichen
> y # zeigt das Ergebnis
[1] 2 2 9
Einfache Funktion plotten
Wir wollen den natürlichen Logarithmus und den Zehnerlogarithmus im Bereich von 1 bis 10 in
einer gemeinsamen Graphik darstellen. Wie würden Sie das mit Papier und Bleistift machen?
> x<-1:10 # Folge der ganzen Zahlen von 1 bis 10.
> y<-log(x) # natürlicher Logarithmus von x (komponentenweise)
> x # Anzeigen von x
[1]
1
2
3
4
5
6
7
8
9 10
> y # Anzeigen von y
[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595
1.9459101 2.0794415 2.1972246 2.3025851
plot(x,y) # Plottet x auf der x-Achse und y auf der y-Achse in einem x,yKoordinatensystem
> points(x,log(x,10))# die Funktion points zeichnet Punkte in eine vorhandene
Graphik, hier den Zehnerlogarithmus von x
> points(x,log(x,10),col="red") # mit dem Argument col kann die Farbe der
Punkte bestimmt werden. Col ist ein graphischer Parameter. Siehe par in
der Hilfefunktion für weitere graphische Parameter.
> lines(x,log(x,10),col="green")# mit dem Befehl lines werden Linien in
eine vorhandene Graphik gezeichnet.
> lines(x,log(x),col="blue") # die natürlichen Logarithmen werden durch eine
blaue Linie verbunden.
Wir wollen eine genauere Darstellung unserer Funktion.
> x<-seq(1,10,length=91) # Der Befehl seq definiert eine Folge (sequence), hier von
1 bis 10 der Länge 91, diese wird in x geschrieben.
> y1<-log(x) # der natürliche Logarithmus von x wird in y1 geschrieben.
> y2<-log(x,10) # der Zehnerlogarithmus von x wird in y2 geschrieben
> cbind(x,y1,y2) # die Vektoren x, y1 und y2 werden in die Spalten einer Matrix
geschrieben. Es folgt die Ausgabe der ersten fünf und letzten drei
Zeilen (auf dem Bildschirm erscheint die ganze Matrix).
x
[1,]
y1
y2
1.0 0.00000000 0.00000000
[2,]
1.1 0.09531018 0.04139269
[3,]
1.2 0.18232156 0.07918125
[4,]
1.3 0.26236426 0.11394335
[5,]
1.4 0.33647224 0.14612804
.
.
.
[89,]
9.8 2.28238239 0.99122608
[90,]
9.9 2.29253476 0.99563519
[91,] 10.0 2.30258509 1.00000000
> plot(x,y1,type="l") # Es wird y1 gegen x geplottet. Mit dem Argument
type=“l“ wird festgelegt, dass die Punkte durch Linien verbunden werden.
> lines(x,y1,col="red",lwd=3) # die Kurve soll in roter Farbe und in der
Linienstärke (lwd) 3 dargestellt werden.
> lines(x,y2,col="blue",lwd=5) # es soll zusätzlich der Zehnerlogarithmus
dargestellt werden, in blauer Farbe und Linienstärke 5
> title("Natürlicher Logarithmus und Zehnerlogarithmus in einem
Bild") # Die Graphik bekommt mit title einen Titel.
Speichern der erzeugten Objekte
Kommandozeile über File und Save Image speichern, Dateinamen mit Endung .Rdata. Sie
können die gespeicherten Objekte in der nächsten Sitzung mit Load Image wieder laden.
Beenden der Sitzung
Kommandozeile über File und Exit. Frage Save Workspace Image? beanworten.
Herunterladen