werkzeugedermustererkennungund teil i … · 2020-02-14 ·...
TRANSCRIPT
WERKZEUGE DER MUSTERERKENNUNG UNDDES MASCHINELLEN LERNENS
Vorlesung im Sommersemester 2020
Prof. E.G. Schukat-Talamazzini
Stand: 14. Februar 2020
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Teil I
Einführung in die Sprache
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Softwarewerkzeugeund ihre Benutzerschnittstelle
Graphikorientiert (GUI)MenüauswahlFormulareintragDrag & Drop
Sprachorientiert (PLI)Formale AnwendungsspracheInterpreterprogrammBS/PS-Interface
Befehlsorientiert (CLI)Fixiertes KommandoensembleAufrufparameter und -syntaxSkriptunterstützung
Programmorientiert (API)UnterprogrammbibliothekKlassenbibliothek(wie PLI) erweiterbar
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Programmiersprachen für wissenschaftliches Rechnen
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Inhaltlicher Vorlesungsaufbau
Die Programmiersprache ’R’
• Sprache ’R’ im ÜberblickHilfe, Installation, Sitzung
• Rechnen und DatentypenFelder, Listen, Funktionen,Operatoren
• Text und DatenZeichenketten,Eingabe/Ausgabe,Graphikausgabe
• Statistische ModelleRegression, Optimierung,Verteilungen
Anwendungsgebiete von ’R’
• ZeitreihenTrend/Saison, Faltung, ACF,Spektrum, AR/MA, GARCH
• TransformationenHauptachsen, MDS,Faktoren, ICA, NMF, LDA
• Klassifikatorenk-NN, MLP, SVM, SCT,OLS/GLS, LDA/QDA
• Clusteranalysedivisiv/agglomerativ,K -Means, Fuzzy,EM-Entmischung, spektral
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Das System ist ...
• ein leistungsfähiger Taschenrechner• ein vektor/tensorbasierter Mathematikprozessor• eine funktional-objektorientierte Programmiersprache• ein Werkzeug zur statistischen Datenanalyse• ein mächtiges Kommandosystem für wiss. Grafiken• ein Interpreter für „die Sprache C ∪ Lisp“• ein offenes und kostenloses Softwareprodukt (S-Plus nicht!)• in den Bereichen Statistik, Datamining, Bioinf weit verbreitet• ein Algorithmen-Wiki für die internat. Datamining-Szene
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Wissenswertes über
• Dokumente des ’R’-Pakets: file://usr/lib/R/doc/html
Tutorial, Language Definition, Installation, Erweiterungspakete, Datenim-/export, FAQ, ...
• Webseiten des ’R’-Projekts:international: http://www.r-project.org/ · national: http://www.r-project.de/
• Ausgewählte Handbücher und KursmaterialienContributed Documentation (≥ 50 Tutorials): http://cran.r-project.org/other-docs.html
• Interaktive Hilfe zur Programmlaufzeit(Funktionsaufruf) funcname (a,b,...)
1. Funktionsbeschreibung help (funcname)bzw. ?funcname
2. Beispieldemonstration example (funcname)3. Funktionsdeklaration funcname4. Suchfunktion help.search (topic)
bzw. ??topic
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
’R’ als Taschenrechner
• ’R’ ist interaktiv: der Programmtext wird interpretiert• ’R’-Programm =̂ Folge von Ausdrücken• der Ausdruck wird ausgewertet; der Wert wird angezeigt:(17+4)*(35-25)+4501 ... [1] 4711
• nach Namensbindungen wird die Wertausgabe unterdrückt:xval <- (17+4)*(35-25)+4501 ... (nix)
• der Wert wurde aber errechnet und gemerkt:xval + 1111 ... [1] 5822
• Bezeichner werden nach Erstauftritt automatisch registriert:objects() ... [1] ’DNA.prom’ ’my_url’ ’xval’
• Bezeichner sind keine Variablen:xval <- "School’s out forever!" ... (kein Problem)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Vektoren, Matrizen, Tensoren
• Die elementaren Datentypen von ’R’ sind Vektoren:x <- c(1,4,9,16) ; x ... [1] 1 4 9 16
• Es gibt zahlreiche Konstruktoren für Vektorobjekte:y <- 1:4 ; y ... [1] 1 2 3 4
• Arithmet./logische Verknüpfungen operieren komponentenweise:x+y ... [1] 2 6 12 20
• Matrizen bestehen aus Datenvektor & Strukturinformation:matrix (data=1:12, nrow=3, ncol=4, byrow=FALSE)
[,1] [,2] [,3] [,4][1,] 1 4 7 10[2,] 2 5 8 11[3,] 3 6 9 12
• Es gibt zahlreiche Werteselektionsmöglichkeiten:mat[3] mat[2,3] mat[2,1:3] mat[2:3,2][1] 3 [1] 8 [1] 2 5 8 [1] 5 6
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Listen, Ausdrücke & Parsebäume
• Listen enthalten Komponenten von unterschiedlichem Typ:lis <- list (zahl=12, TRUE, ’zwei Wörter’)
• Selektion per Index oder per Name:lis[[2]] ... [1] TRUE oder lis$zahl ... [1] 12
• Programmtexte können geparst werden:ex <- parse (text = "a-b; (17+4)*45; x+y")
• Es wird eine Liste von Parsebäumen erzeugt:ex2 <- ex[[2]] ; ex2 ... (17 + 4) * 45
• Jeder Ausdruck liegt als Kantorovic-Ableitungsbaum vor:ex2[1] ex2[2] ex2[3] ex2[4]’*’() (17 + 4)() 45() NULL()
• Kantorovic-Bäume können (u.U.) ausgewertet werden:eval(ex2) ... [1] 945eval(ex) ... Error in eval(expr, envir, enclos) : Object ’a’ not found
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Datensätze laden — auch über das Internet• Als Dateinamen werden auch URLs akzeptiert:myurl <- ’http://stat.ethz.ch/Teaching/Datasets/NDK/sport.dat’
d.sport <- read.table (myurl)• Datensätze mit benannten Mustern & Merkmalen:
weit kugel hoch disc stab speer punkteOBRIEN 7.57 15.66 207 48.78 500 66.90 8824BUSEMANN 8.07 13.60 204 45.04 480 66.86 8706DVORAK 7.60 15.82 198 46.28 470 70.16 8664FRITZ 7.77 15.31 204 49.84 510 65.70 8644HAMALAINEN 7.48 16.32 198 49.62 500 57.66 8613NOOL 7.88 14.01 201 42.98 540 65.48 8543ZMELIK 7.64 13.53 195 43.44 540 67.20 8422GANIYEV 7.61 14.71 213 44.86 520 53.70 8318PENALVER 7.27 16.91 207 48.92 470 57.08 8307HUFFINS 7.49 15.57 204 48.72 470 60.62 8300PLAZIAT 7.82 14.85 204 45.34 490 52.18 8282MAGNUSSON 7.28 15.52 195 43.78 480 61.10 8274SMITH 7.47 16.97 195 49.54 500 64.34 8271MUELLER 7.25 14.69 195 45.90 510 66.10 8253CHMARA 7.75 14.51 210 42.60 490 54.84 8249
• Auswahl von Zeilen und Spalten, z.B. d.sport[,’kugel’][1] 15.66 13.60 15.82 15.31 16.32 14.01 13.53 14.71 16.91 15.57 14.85 15.52
[13] 16.97 14.69 14.51
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Aufrufen & Deklarieren von Funktionen
• Funktionsdeklaration mit formalen Parametern:funcname <- function (arglist) {body}
• Parameterbezeichner vname (ohne Typangabe!)
• Parameter mit Voreinstellung vname=default• Restparameterliste ...
• Funktionsaufruf mit aktuellen Parametern:funcname(arglist)
• Positionelle Übergabe expr• Namentliche Übergabe vname=expr• Restparameterübergabe ...
• Beispiel:zeichne <- function (x, y=NULL, title=’Grafik’, ...) {
if (is.null (y)){ y <- x; x <- 1:length(x) }
plot (y ˜ x, main=title, ...)}
zeichne (sin(1:20), cos(1:20), title=’Kreis’, col=’red’)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Wertesequenzen & WertemengenSkalare Datensammlung mit/ohne Reihenfolgeinformation
0 10 20 30 40 50
−1
01
2
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Simple Use of Color In a Plot
Just a Whisper of a Label
Stützwertediagramm
x
Fre
quen
cy
−4 −2 0 2 4
050
100
150
200
1000 Normal Random Variates
Balkendiagramm
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Wertemengen & VerteilungsformWahrscheinlichkeitsverteilungen auf stetigen Skalen
●
●
●
●2.0
2.5
3.0
3.5
4.0
iris$
Sep
al.W
idth
3 outliersmaximum75% quantilemedian25% quantileminimum1 outlier
Box-Whisker-Plot
●
●
●
●
●
●
●
●
●
●
1 2 3 4 5 6 7 8 9 10
02
46
Notched Boxplots
Group
Mittel & Abweichung(en)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Häufigkeiten & ProportionenWahrscheinlichkeitsverteilungen auf diskreten Skalen
Blueberry
Cherry
Apple
Boston Cream
Other
Vanilla Cream
January Pie Sales
(Don't try this at home kids)
Tortengrafik
1
2
3
4
567
8
9
10
11
12
13
14
15
16
1718 19
20
21
22
23
24
A Sample Color Wheel
(Use this as a test of monitor linearity)
Wagenradgrafik
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
WertesequenzpaareKonkurrierende Sequenzen · Komplementäre Sequenzen
0 20 40 60 80 100
−10
−5
05
1015
Time
Dis
tanc
e
Distance Between Brownian Motions
Minimum/Maximum
2.0 2.5 3.0 3.5 4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
ts(iris$Sepal.Width)
ts(ir
is$S
epal
.Len
gth)
12
34
5
6
7
8
9
10
11
1213
14
1516
17
18
19
20
21
22
23
24
2526 27
2829
3031
3233
34
3536
37
38
39
4041
4243
4445
46
47
48
49
50
51
52
53
54
55
56
57
58
59
6061
6263
64
65
66
6768
69
70
7172
7374
7576
7778
79
808182
8384
85
86
87
88
899091
92
93
94
959697
98
99
100
101
102
103
104105
106
107
108
109
110
111112
113
114115
116117
118119
120
121
122
123
124
125
126
127128
129
130131
132
133134
135
136
137138
139
140141142
143
144145146
147148
149
150
Zweikanal-Zeitreihen (2D-Trajektorie)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Datenmatrizen, Einkanalbilder IGebirgsmetapher durch Gitterprojektion oder 3D-Rendering
Maunga WhauOne of 50 Volcanoes in the Auckland Region.
Drahtgitterlandschaft
row
column
volcano
Schattierung
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Datenmatrizen, Einkanalbilder IIWerte durch Grenzen · Werte durch Farben
0 200 400 600 800
020
040
060
0
100
100
100
110
110
110
110
120
130
140
150
160
160
170
170
180
180
190
A Topographic Map of Maunga Whau
Meters North
Met
ers
Wes
t
10 Meter Contour Spacing
Konturen/Isolinien
100
120
140
160
180
Height(meters)
200 400 600 800
100
200
300
400
500
600
The Topography of Maunga Whau
Falschfarbendarstellung
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Kombinierte SkalendarstellungZwei Modalitäten in einem Koordinatensystem
Schattierung & Falschfarben
x
y
95
100
100
100
105
105
105
110
110
110
110
115
115
115
120
125
130
135
140 145
150
155
155
160
160
165
165
170
170
175
180
180
185
190
100 200 300 400 500 600 700 800
100
200
300
400
500
600
Maunga Whau Volcano
col=terrain.colors(100)
Isolinien & Falschfarben
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Funktionsverläufe f : IR2 → IR zweier VariablenZuordnungsvorschrift statt Datenmenge
x
y
z
.
z = Sinc( x2 + y2)
Drahtgitterlandschaft
X
−10
−5
0
5
10
Y
−10
−5
0
5
10Z
−2
0
2
4
6
8
.
z = Sinc( x2 + y2)
Gitter & Schattierung
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Zweikanalige DatenScatterplot ohne/mit Klassenkennzeichnung
*
***
**
* *
**
**
**
*
*
*
***
*****
*
* ****
*
* *
****
*
**
*
***
*
*
*
*
* ** *
*
**
*
*
**
*
*
*
****
*
**
*
**
* * **
***
*** *
*
**
*
*
**
*
**
*** *
**
*
*** * *
*
*
*
*
*
**
**
**
*
*
*
*
* **
* *
**
**
*
*
***
*
*** ** *
*
***
*
*
*
*
4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
2.0
2.5
3.0
3.5
4.0
Fisher's IRIS data (two coordinates)
Sepal.Length
Sep
al.W
idth
alle Datenpunkte (xi , xj) in der Ebene
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●● ●
●
●●
●
●
●
●
●
4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
2.0
2.5
3.0
3.5
4.0
Fisher's IRIS data (two coordinates)
Sepal.Length
Sep
al.W
idth
dto., mit Klassenmarkierung
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Drei- und mehrkanalige DatenSchubladengrafik · Kombinatorischer Scatterplot
●
●
●
● ●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●●●●●●●●●●●●●
●
●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●●
●●●
●
●●●●●●●
●
●
●
●
●●●●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●●●●
●
●●
●●
●
●
●
●●
−35
−30
−25
−20
−15
−10
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●●●●●●
●
●
●●
●
●●●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●●●●
●●●●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●●
●
●
●●
●
● ●●
●
●●
●●●●●
●
●●
●
●
●
●
●●●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
165 170 175 180 185
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●● ●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
● ●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●●
●●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●
●
●●
●
●
●
●
●
●
●●
● ●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●●
●
●
●
●●●
●●
●
●
●
●
●
●
● ●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
165 170 175 180 185
●●
●
●
●
●
●
●
●
●
●●
●
●●
●●●
●●
●
●
●●
●
●
● ●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●
●●●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●
●●
●●
● ●
●
●
●
●
●
●●●
●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●●●
●●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●●
●●
●
●
●
●
●
●●● ●●●
●
●
●●●
●
●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●●
●●●
●●
●
●
●
●
●
●●
●●●●
●
●
●
●●
●
●●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●●
●● ●●
●●●●●
●
●●●● ●
●
●
●●●●●
●●
●
●
●●●●
●
●●●●●
●
●
●
●●
●
●●
●
●
●●● ●
●
●
●
●●
●
●
●
●●
●
●
●●●●●●
●
●
●
●
●●
●
●
●●●
●
●
●●●●
●●
●
●
●
●●
●
●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
165 170 175 180 185
−35
−30
−25
−20
−15
−10
long
lat
100 200 300 400 500 600
Given : depth
x3-partitionierte (x1, x2)-Diagramme
Sepal.Length
2.0 2.5 3.0 3.5 4.0
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●● ●
●●
●●
●●
●
●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●●
●●
●
●●●
●●
●
●
●
●
●●●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●●●
●
●●●
●●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●●
●●
●●
●
●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●●
●●
●
●●●
●●
●
●
●
●
●● ●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●●
●
●
●●●
●●
●
●
0.5 1.0 1.5 2.0 2.5
4.5
5.5
6.5
7.5
●●●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●● ●●●
●●
●●
●
●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●●●
●
●
●●●
●●
●
●
●
●
●●●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●●
●
●
●●●
●●
●
●
2.0
2.5
3.0
3.5
4.0
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●● ●
●
●●
●
●
●
●
●Sepal.Width
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●
●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●●
●
●●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●●
●
●
●
●●
● ●●
●
●●
●
●
●
●
●
●●●● ●
●● ●● ● ●●
●● ●
●●●
●●
●●
●
●●
●● ●●●● ●● ●●
● ●●●●
●●●●●
●●
● ●●
●●
●
●
●●●
●
●
●●
●●
●
●
●●●
●
●
●
●
●●
● ●●
●
●
●●●
●
●
● ●●
●●●
●●
●
●
●●● ●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●●●●
●●
●
●
●
●
●
●●
●●
●●
●●
●
●
●
●
●●
●
●●
●●
●●
●●
●●
●
●● ●● ●
●●●● ● ●●
●● ●
●●●
●●
●●
●
●●
● ●●●●● ● ●●●● ●●●
●●● ●●
●
●●
● ●●
●●
●
●
●●●
●
●
●●
●●
●
●
●●●
●
●
●
●
●●
●●●
●
●
●●●
●
●
● ●●
●●●
●●
●
●
● ●●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
● ●●
●
●●
●
●
●
●
●
●●
● ●
●●
●●
●
●
●
●
●●
●
●●
●●
●●
●●
●●
●
Petal.Length
12
34
56
7
●●●●●
●●●●●●●●
●●●●●
●●
●●
●
●●● ●●●●● ●●●●●●
●●●
●●●●
●
●●●●●
●●●
●
●●●
●
●
●●
●●
●
●
●●●
●
●
●
●
●●
●●●
●
●
●●●
●
●
●●●
●●●
●●
●
●
●●●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
● ●●
●
●●
●
●
●
●
●
●●
●●
●●
●●
●
●
●
●
●●
●
●●
●●
●●
●●
●●
●
4.5 5.5 6.5 7.5
0.5
1.0
1.5
2.0
2.5
●●●● ●
●●
●●●
●●●●
●
●●● ●●
●
●
●
●
● ●
●
●●●●
●
●●●● ●
●● ●
●●●
●
●●
●● ●●
●● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●●
● ●
●
●
●●●
●
●●
●●
●●●●
●
●
●
●●● ●
●
●
●
●
●
●
●●
●●●
●
●●
●●
●●
●
●●
●
●
● ●
●
●
●●●
●
●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●●
●
●
●● ●● ●
●●●●
●●●
●●●
●●● ●●
●
●
●
●
●●
●
●●●●
●
●●●● ●
●● ●
●●●
●
●●
●● ●●
●●●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●●
●●
● ●●●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●●●
●
●●
●●
●●
●
●●
●
●
●●
●
●
●● ●
●
●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●●
●
●
1 2 3 4 5 6 7
●●●●●
●●●●●●●
●●●
●●●●●
●
●
●
●
●●
●
●●●●
●
●●●●●●
●●●●●
●
●●
●●●●
●● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●●● ●
●
●
●●
●
●
●●●
●
●●●●
●
●
●
●●●●
●
●
●
●
●
●
●●
●●●
●
●●
●●
●●
●
●●
●
●
● ●
●
●
●●●
●
●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●●
●
●
Petal.Width
Edgar Anderson's Iris Data
alle möglichen (xi , xj)-Diagramme
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Darstellung von VerteilungsmodellenEmpirische/geschätzte Dichte · Text- und Formelsatz
Estimated Density
Height (inches)
Ker
nel D
ensi
ty w
ith N
orm
al F
it
0.000.050.100.150.200.25
60 65 70 75 80
● ●● ●●●● ●●● ●●● ● ●● ● ●● ●●● ●● ● ●
Bass 2
●● ●● ●● ●●● ●● ● ● ●●●● ● ●● ●● ●● ●●● ●●● ●● ● ●●● ●●●
Bass 1● ●● ●● ●●● ●● ● ●●●● ●●● ●● ●
Tenor 2
0.000.050.100.150.200.25
● ●●● ●●●● ●● ●● ●●●● ●● ●●●
Tenor 10.000.050.100.150.200.25
●●●●● ●● ●● ●●● ●●● ●●●● ●●●●● ●●●
Alto 2
●● ●●●● ●●● ●●● ●●● ● ●●●● ●●●● ● ●● ●●● ● ● ●● ●
Alto 1● ●● ●●● ●●● ● ●● ●●● ● ●●●● ●● ● ●● ● ●● ●●
Soprano 2
60 65 70 75 80
0.000.050.100.150.200.25
●● ●●● ● ● ●●● ●●● ● ●●● ●● ● ●● ●● ● ●●● ● ●●● ● ●●●
Soprano 1
Gruppenbezogene Dichtevisualisierung
π∑0
nx
demonstrating
expressions
σi
γ2
α
β
γ
− π
2
0 π
2
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
● ●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
: ε
2α
α
β
γ
− π
2
0 π
2
●
●
●
●
●
● ●
●●●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●●
●
●
●
●●
●
●
●
: ε
2β
α
β
γ
− π
2
0 π
2
●
●
●
●
●
●
●
●●
●●
●
●
●●
● ●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
: ε
2γ
α
β
γ
− π
2
0 π
2
●
●
●
●
●●
●
●●
● ● ●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
: ε
2δ
ei1α+2β
● small
BIGθζ
Formelsatz in LATEX-Syntax
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Clusteranalyse (Gruppierung)Hierarchische Gruppierung · Unscharfe Gruppierung
DK L F I
UK D B
NL E
IRL
GR P
010
3050
Ward−Distanz
Lanc
e−W
illia
ms
scor
e
Dendrogramm (AGNES)
−30 −20 −10 0 10 20 30
−30
−20
−10
010
20
clusplot(fanny(x = USArrests[, 3:4], k = 7, memb.exp = 1.4))
Component 1
Com
pone
nt 2
●
●
●
●
●
●
●●
●
●
●
Partition (fuzzy K -means)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
am Institut für Informatik’R’ ist verfügbar an allen Rechnern im Linux-PC-Pool des FRZ
myself@mipool> R R version 3.3.1
R version 3.3.1 (2016-06-21) – "Bug in Your Hair"Copyright (C) 2016 The R Foundation for Statistical ComputingPlatform: x86_64-suse-linux-gnu (64-bit)
R ist freie Software und kommt OHNE JEGLICHE GARANTIE.Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten.Tippen Sie ’license()’ or ’licence()’ für Details dazu.
R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.Tippen Sie ’contributors()’ für mehr Information und ’citation()’,um zu erfahren, wie R oder R packages in Publikationen zitiert werden können.
Tippen Sie ’demo()’ für einige Demos, ’help()’ für on-line Hilfe, oder’help.start()’ für eine HTML Browserschnittstelle zur Hilfe.Tippen Sie ’q()’, um R zu verlassen.
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
zu Hause unter Linux installieren
1. Rufen Sie die Webseite http://cran.r-project.org/CRAN = Comprehensive ’R’ Archive Network
2. Nutzen Sie die ONE-CLICK-InstallationR binaries linux suse SuSE 12.1 R-patched-devel-2.14.1
3. ... oder laden Sie sich eine Distribution herunter undinstallieren Sie das Paket als ’root’:rpm -i /home/schukat/hereis/R-base-2.4.0-1.i586.rpm
error: Failed dependencies:xorg-x11-fonts-100dpi is needed by R-base-2.4.0-1blas is needed by R-base-2.4.0-1libgfortran.so.0 is needed by R-base-2.4.0-1
4. Installieren Sie die fehlenden Pakete nach (YAST2), z.B.blas · xorg-x11-fonts-100dpi · fortran o.ä.
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
zu Hause unter Windows installierenWarum sollte das eigentlich nicht möglich sein? · Wer hat da eben gelacht?
〈Algorithmus〉
1 Laden Sie sich eine Binärversion für Windows XP herunter.2 Überzeugen Sie den Installationsassistenten Ihres Vertrauens
davon, daß es sich beim ’R’-Paket um einEgoshooterprogramm handelt.
3 Führen Sie einen Systemneustart durch.4 Entfernen Sie die verkohlten Kunststoffreste von der
Auslegeware.〈Algorithmus〉
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beginn und Ende einer ’R’-SitzungKonfiguration einer individuellen Umgebung
• Starten einer Sitzung:.../working-directory> R
• Beenden einer Sitzung:quit() oder q() oder q(’yes’) oder q(’no’)
• Der individuelle Zuschnitt Ihrer ’R’-Umgebung:.../working-directory/.Rprofile
• Prolog zu Sitzungsbeginn:... die Funktion .First() wird ausgeführt
• Epilog bei Sitzungsende:... die Funktion .Last() wird ausgeführt
• BEISPIEL:Die Startdatei .Rprofile enthält die Funktionsdefinitionen:
.First <- function() { source (’./lib/mydefs.R’) ; cat (paste (date(), ’Hola’)) }
.Last <- function() { graphics.off() ; cat (paste (date(), ’Adios’)) }
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Kommandos zur ObjektverwaltungListen · Löschen · Ein/Ausgabe von Daten und Kommandos
• Auflisten aller definierten Objekte:objects() oder ls()
• Löschen definierter Objekte:remove (x,y,fun) oder rm (list=ls()) (?!?)
• ’R’-Kommandos von Datei lesen (Eingabeumlenkung)
source (file)• ’R’-Ausgaben/Meldungen in Datei schreiben (Ausgabeumlenkung)
sink(file=NULL, append=FALSE)• ’R’-Objekte in eine Datei speichernsave(..., list=character(0), file=)
• ’R’-Objekte aus einer Datei laden (char vector)
load(file) oder loadURL(url)• Alle Sitzungsobjekte werden nach .RData geschrieben
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Stapelverarbeitung für -ProgrammeAufruf von und Parameterübergabe an ’R’-Skriptdateien
• Abarbeitung einer Datei mit ’R’-Programmcode:
Rscript progfile.R
(entspricht Ausführung von source ("progfile.R") im ’R’-Interpreter)
• Aufruf eines ’R’-Skripts mit Parameterübergabe:
Rscript progfile.R string1 string2 string3 ... ... ...
Nach der Zuweisung
arg <- commandArgs (trailingOnly=TRUE)
finden sich in den Komponenten arg[1], arg[2] usw. descharacter-Vektors arg die Aufrufparameter als Zeichenketten.
• Etwaige Grafikausgaben finden wir im aktuellen Arbeitskatalog unterdem Namen Rplots.pdf.(sofern „PDF“ voreingestellt und kein Dateiname angegeben)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Was kann ’R’?
Sprachumfang
Grafikausgabe
Installation des ’R’-Pakets
Ablauf einer ’R’-Sitzung
Elementare Grafikbefehle
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Zeichnen von Funktionsverläufen
• Generische Funktion delegiert an zuständige Methode:plot(func,...) plot.function(func,...)
• Methode zum Kurvenzeichnen:curve (expr, from, to, n=101, add=FALSE, type=’l’,ylab=NULL, log=NULL, xlim=NULL, ...)
• Der Funktionsname ist gegeben, z.B.:plot (sin)
• Eine Funktionsdefinition ist gegeben, z.B.:plot (function(z) {2*z+5})
• Das Intervall für die Argumentwerte ist spezifiziert, z.B.:plot (sin, -2, +4)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: eine Sinuskurve
plot ( sin, from=0, to=6*pi, col="blue",main="Darstellung Sinuskurve",sub="drei Perioden" )
0 5 10 15
−1.0
−0.5
0.00.5
1.0
Darstellung Sinuskurve
drei Periodenx
sin (x
)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: eine Funktionsdeklaration
plot ( function(z) {sin(1/z)}, col=’blue’, n=256,main=’Funktionsinstanz’,sub=’eigenhaendig deklariert’ )
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
Funktionsinstanz
eigenhaendig deklariertx
functio
n(z) {
(x)
sin(1/
z) (x)
} (x)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Bildübergreifende Grafikbefehle
• Überlagern mehrerer Verläufe in einem Achsenkreuzplot (x,y, add=TRUE)
• Umleiten der Grafikausgabe von Schirm auf Dateipdf (file=’Rplot.pdf’, ???)und entsprechend für postscript pictex png jpeg GTK GNOME xfig bitmap
zurück mit X11 (display, ???)• Keine neue Zeichnung ohne Bestätigung (Stapelbetrieb)
par (ask=TRUE)• Aufteilung der Leinwand in mehrere Grafikfelderpar (mfrow=c(n,m)) oderpar (mfcol=c(n,m))
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: zwei Kurven in einem Bild
plot ( sin, from=0, to=6*pi, col="blue",main="Darstellung Sinus- und Kosinuskurve",sub="drei beziehungsweise zwei Perioden")
plot ( cos, from=0, to=4*pi, add=TRUE, col="green")
0 5 10 15
−1.0
−0.5
0.00.5
1.0
Darstellung Sinus− und Kosinuskurve
drei beziehungsweise zwei Periodenx
sin (x
)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: sechs Bilder auf einem Blatt
par (mfrow = c(2,3))curve (sin(10*x), col="blue"); curve (sin(20*x), col="green")curve (sin(30*x), col="red"); curve (sin(40*x), col="cyan")curve (sin(50*x), col="yellow");curve (sin(60*x), col="magenta")
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(10
* x)
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(20
* x)
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(30
* x)
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(40
* x)
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(50
* x)
0.0 0.2 0.4 0.6 0.8 1.0
−1.0
−0.5
0.00.5
1.0
x
sin(60
* x)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Wertesequenzen und Punktesequenzen
• Wertesequenzen zeichnen: plot(x) , z.B.:plot (c (2,3,5,7,11,13,17))plot (1:20)plot (seq (0,8,0.1))plot (sin (seq (0,8,0.1)))
• Punktesequenzen zeichnen: plot(x,y)z.B. x <- seq (0,2*pi,0.1) nebstplot (x, sin(x)) oderplot (sin(x), x) oderplot (cos(x), sin(x))
• Kurvendarstellung durch type=’?’ gesteuert:points lines bothoverplotted contour-onlyhigh-density steps Steps ...
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: eindimensionale Wertefolgen
par (mfrow = c(1,3))plot (c(2,3,5,7,11,13,17,19,23), type=’l’, col=’blue’)plot (1:20, type=’p’, col=’blue’)plot (seq (0,8,1), type=’b’, col=’blue’)
2 4 6 8
510
1520
Index
c(2, 3,
5, 7, 1
1, 13, 1
7, 19, 2
3)
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
5 10 15 20
510
1520
Index1:2
0
●
●
●
●
●
●
●
●
●
2 4 6 8
02
46
8
Index
seq(0,
8, 1)
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Beispiel: zweidimensionale Wertefolgen
par (mfrow = c(1,3))x <- seq (0, 6*pi, 0.1)plot (sin(x), cos(x), type=’b’, col=’blue’)plot (x, sin(x), type=’b’, col=’blue’)plot (sin(x), x, type=’b’, col=’blue’)
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ● ● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
−1.0 −0.5 0.0 0.5 1.0
−1.0
−0.5
0.00.5
1.0
sin(x)
cos(x)
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
0 5 10 15
−1.0
−0.5
0.00.5
1.0
x
sin(x)
● ● ● ● ●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●● ● ● ● ● ● ● ● ●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●
●●●●●●●● ● ● ● ● ● ● ● ● ●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●
●●●●●●●● ● ● ● ●
−1.0 −0.5 0.0 0.5 1.00
510
15sin(x)
x
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Leinwandaufteilung mit variablen Feldmaßen
layout (matrix (c(1,1,2,3), ncol=2), width=c(2,3), height=c(3,2))x <- c (runif (123), rnorm (50, mean=2, sd=0.5))boxplot (x, col="green")plot (sort(x), col="blue", type="h")hist (x, col="red", lab=TRUE, main="")layout (1) # nicht vergessen!!
0.00.5
1.01.5
2.02.5
3.0
0 50 100 150
0.00.5
1.01.5
2.02.5
3.0
Index
sort(x)
x
Freque
ncy
0.0 0.5 1.0 1.5 2.0 2.5 3.0
020
4060 58
65
6
24
10 10
Was kann ’R’? Sprachumfang Grafik Installation ’R’-Sitzung ?plot
Zusammenfassung (1)
1. ’R’ ist eine funktionale Programmiersprache mit rudimentärerObjektorientierung (polymorphe Aufrufe).
2. ’R’ arbeitet interaktiv (Interpreter statt Compiler), unterstützt aberStapelverarbeitung (Skripten).
3. ’R’ gilt als spektakulär für wissenschaftliches Rechnen, Statistik,Datenmodellierung und -visualisierung; für Bild- und Textverarbeitunggibt es performantere Wettbewerber.
4. Der elementare Datentyp von ’R’ ist der Vektor.
5. In ’R’ sind auch Funktionen und Ausdrücke Sprachobjekte, können alsozur Laufzeit manipuliert werden.
6. ’R’ unterstützt die E/A beliebiger ’R’-Objekte durch automatischeSerialisierung.
7. Grafiken werden kumulativ erzeugt; zuerst das Koordinatensystem, dannsukzessive weitere Zeichnungskomponenten.
8. Komplexere Grafiken werden durch Leinwandaufteilung und sequentielleKomposition einfacher Grafiken erzeugt.