PowerPoint-Datei - R

Download Report

Transcript PowerPoint-Datei - R

R und MS Excel
Datenaustausch zwischen R
und Excel auf Basis des
XLConnect-Pakets
Günter Faes
MS Excel
Sehr hohe Verbreitung
Einfache Bedienung
Datenmanagement
Visualisierung
2
Prozess und Statistik
Günter Faes, [email protected]
Statistikumgebung R
Sehr leistungsfähiges
Statistikprogramm
Beliebig erweiterbar
Herausfordernd im
Datenmanagement und
Visualisierung
3
Prozess und Statistik
Günter Faes, [email protected]
Warum MS Excel und R
Daten werden oft mit Excel
erhoben und bearbeitet.
Excel und R
verbinden?
© cirquedesprit - Fotolia.com
© Rudie - Fotolia.com
Der Analyst hat Vorstellungen,
wie die Daten ausgewertet
und dargestellt werden sollen.
4
© Rudie - Fotolia.com
Nur wie, wenn die
Excel-Möglichkeiten
nicht ausreichen?
Prozess und Statistik
Günter Faes, [email protected]
MS Excel und R
Wie werden Daten zwischen Excel und R ausgetauscht?
RExcel
• Direkte Excel-RInteraktion
• Keine direkte
Excel-RInteraktion
XLConnect
• Ausgefeilte Leseund
Schreibfunktionen
R
readFunktionen
• Lese- und
Schreibfunktionen
(txt, csv)
Datenbank
funktionen
5
Prozess und Statistik
Günter Faes, [email protected]
MS Excel und R über XLConnect
• Das Paket XLConnect wird durch die Mirai Solutions GmbH (Schweiz) zur Verfügung
gestellt.
• Das Paket XLConnect stellt leistungsfähige Funktionen zum Lesen und Schreiben von
Excel-Files zur Verfügung und läuft auf diversen Betriebssystemen.
Die XLConnect nutzt dazu als unterlegtes Interface das Apache POI API.
• MS Excel muss auf dem Auswertesystem nicht installiert sein!
• XLConnect kann kostenfrei genutzt werden!
6
Prozess und Statistik
Günter Faes, [email protected]
MS Excel und R über XLConnect
Wird das Paket XLConnect erfolgreich geladen, erhalten Sie folgende Ausgabe auf der
R-Konsole:
Lade nötiges Paket: XLConnectJars
Lade nötiges Paket: rJava
XLConnect 0.2-4 by Mirai Solutions GmbH
http://www.mirai-solutions.com ,
http://miraisolutions.wordpress.com
>
7
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – ein einfaches Beispiel
In diesem einfachen Beispiel wird die Excel-Datei Test.xlsx …
Einfluss
8
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – ein einfaches Beispiel
… eingelesen:
> Datei <- "Test.xlsx"
# Einlesen der Excel-Datei in das Workbook-Objekt wb:
> wb <- loadWorkbook(Datei)
# Auslesen der Tabelle „Einfluss“:
> Daten <- readWorksheet(wb, sheet = "Einfluss")
> Daten
1
2
3
4
5
6
7
8
9
10
9
Ereignis
0
0
1
1
0
0
0
1
1
1
KPI Nr.1 Nr.2 Nr.3 Nr.4
Nr.5 Nr.6 Nr.7
10.16
2
79
0
55 46.06 35.22
2
12.11
1
29
0
55 204.23 4.40
2
14.68
2
61
0
29 59.91 69.24
5
14.88
1
70
0
65 91.00 13.55
2
14.88
2
24
0
60 161.11 1.22
4
14.88
2
63
0
60 28.38 7.03
2
15.01
2
78
0
60 69.70 13.98
2
15.06
2
87
0
36 30.22 34.08
3
15.12
1
62
1
20 13.17 15.60
3
15.22
2
84
0
.........
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – ein einfaches Beispiel
Nun nehmen wir eine beispielhafte Änderung der Daten vor und …
… schreiben die Daten zurück in die Excel-Datei über die Funktion
writeWorksheetToFile:
> writeWorksheetToFile(Datei, data=Daten, sheet="Einfluss", startRow=1,
startCol=1)
10
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – es wird komplexer!
XLConnect unterstützt auch das Einlesen von Tabellenbereichen!
Hilfreich ist es, wenn über die ExcelNamensmanagerfunktion für den
Zellbereich ein Name vergeben wird.
In diesem Beispiel wird der Name
Merkmal5_6 für einen Zellbereich
über die Spalten G (Nr.5) und H (Nr.6)
vergeben!
 Achtung! Es können nicht die
gesamten Spalten ausgewählt
werden!
11
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – es wird komplexer!
> Region <- readNamedRegion(wb, name =
"Merkmal5_6")
> Region
Nr.5 Nr.6
1
46.06 35.22
2 204.23 4.40
3
59.91 69.24
Über die Funktion readNameRegion() wird
4
91.00 13.55
der in Excel namentlich festgelegte Zell5 161.11 1.22
bereich Merkmal5_6 eingelesen.
6
28.38 7.03
7
69.70 13.98
8
30.22 34.08
9
13.17 15.60
10 65.93 21.78
11 131.79 3.23
12 66.82 14.61
13 60.88 45.55
14
12
Prozess und Statistik
Günter Faes, [email protected]
XLConnect – es wird komplexer!
Änderungen in dem Zellbereich Region können über die Funktion
in die Excel-Datei zurückgeschrieben werden:
writeNamedRegionToFile
> writeNamedRegionToFile(Datei, name = "Merkmal5_6", data = Region)
13
Prozess und Statistik
Günter Faes, [email protected]
XLConnect und Grafik!
Wir möchten aus den Daten Region einen Boxplot erzeugen und als Grafik in die Excel-Datei
einfügen. Dazu wird der erzeugte Boxplot z. B. als png-Datei gespeichert:
> png(file = "Boxplot.png")
> boxplot(Region, main = "Boxplot der Merkmale 5 und 6")
> dev.off
14
Prozess und Statistik
Günter Faes, [email protected]
XLConnect und Grafik!
Die Voraussetzung zum Einfügen der Grafik ist, dass in der Excel-Tabelle ein Bereich
definiert wird, der die Grafik aufnimmt:
15
Prozess und Statistik
Günter Faes, [email protected]
XLConnect und Grafik!
Die gespeicherte Boxplot.png-Datei wird über die Funktion addImage() in das WorkbookObjekt eingefügt …
> addImage(wb, filename = "Boxplot.png",name = "Boxplot", originalSize = TRUE)
… und als abschließender Schritt das Workbook-Objekt als Excel-Datei gespeichert:
> saveWorkbook(wb)
Haben wir erreicht, was wir
wollten? Schauen wir mal …
16
Prozess und Statistik
Günter Faes, [email protected]
Die letzte Seite
Günter Faes
Koniferenstrasse 82
D-41542 Dormagen
[email protected]
+49-(0)151 127 223 46
+49-(0)2133 536 827
www.r-statistik.de
©-Hinweis:
Die hier verwendeten Fotos stammen von Fotolia.com