View
215
Download
0
Category
Preview:
Citation preview
R und MS Excel Datenaustausch zwischen R und Excel auf Basis des XLConnect-Pakets
Günter Faes
Prozess und Statistik
Günter Faes, pus@faes.de 2
MS Excel
Sehr hohe Verbreitung
Einfache Bedienung
Datenmanagement
Visualisierung
Prozess und Statistik
Günter Faes, pus@faes.de 3
Statistikumgebung R
Sehr leistungsfähiges Statistikprogramm
Beliebig erweiterbar
Herausfordernd im Datenmanagement und
Visualisierung
Prozess und Statistik
Günter Faes, pus@faes.de 4
Warum MS Excel und R
© cirquedesprit - Fotolia.com
© Rudie - Fotolia.com
© Rudie - Fotolia.com
Daten werden oft mit Excel erhoben und bearbeitet.
Der Analyst hat Vorstellungen, wie die Daten ausgewertet und dargestellt werden sollen.
Nur wie, wenn die Excel-Möglichkeiten nicht ausreichen?
Excel und R verbinden?
Prozess und Statistik
Günter Faes, pus@faes.de 5
MS Excel und R
RExcel • Direkte Excel-R-
Interaktion
XLConnect
• Keine direkte Excel-R-Interaktion
• Ausgefeilte Lese- und Schreibfunktionen
read- Funktionen
• Lese- und Schreibfunktionen (txt, csv)
Datenbankfunktionen
R
Wie werden Daten zwischen Excel und R ausgetauscht?
Prozess und Statistik
Günter Faes, pus@faes.de 6
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!
Prozess und Statistik
Günter Faes, pus@faes.de 7
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
>
Prozess und Statistik
Günter Faes, pus@faes.de 8
XLConnect – ein einfaches Beispiel
In diesem einfachen Beispiel wird die Excel-Datei Test.xlsx …
Einfluss
Prozess und Statistik
Günter Faes, pus@faes.de 9
XLConnect – ein einfaches Beispiel
… eingelesen:
> Datei <- "Test.xlsx"
> wb <- loadWorkbook(Datei)
# Einlesen der Excel-Datei in das Workbook-Objekt wb:
> Daten <- readWorksheet(wb, sheet = "Einfluss")
> Daten
Ereignis KPI Nr.1 Nr.2 Nr.3 Nr.4 Nr.5 Nr.6 Nr.7
1 0 10.16 2 79 0 55 46.06 35.22 2
2 0 12.11 1 29 0 55 204.23 4.40 2
3 1 14.68 2 61 0 29 59.91 69.24 5
4 1 14.88 1 70 0 65 91.00 13.55 2
5 0 14.88 2 24 0 60 161.11 1.22 4
6 0 14.88 2 63 0 60 28.38 7.03 2
7 0 15.01 2 78 0 60 69.70 13.98 2
8 1 15.06 2 87 0 36 30.22 34.08 3
9 1 15.12 1 62 1 20 13.17 15.60 3
10 1 15.22 2 84 0 .........
# Auslesen der Tabelle „Einfluss“:
Prozess und Statistik
Günter Faes, pus@faes.de 10
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)
Prozess und Statistik
Günter Faes, pus@faes.de 11
XLConnect – es wird komplexer!
Hilfreich ist es, wenn über die Excel- Namensmanagerfunktion 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!
XLConnect unterstützt auch das Einlesen von Tabellenbereichen!
Prozess und Statistik
Günter Faes, pus@faes.de 12
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
4 91.00 13.55
5 161.11 1.22
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
Über die Funktion readNameRegion() wird der in Excel namentlich festgelegte Zell- bereich Merkmal5_6 eingelesen.
Prozess und Statistik
Günter Faes, pus@faes.de 13
XLConnect – es wird komplexer!
Änderungen in dem Zellbereich Region können über die Funktion writeNamedRegionToFile in die Excel-Datei zurückgeschrieben werden:
> writeNamedRegionToFile(Datei, name = "Merkmal5_6", data = Region)
Prozess und Statistik
Günter Faes, pus@faes.de 14
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
Prozess und Statistik
Günter Faes, pus@faes.de 15
Die Voraussetzung zum Einfügen der Grafik ist, dass in der Excel-Tabelle ein Bereich definiert wird, der die Grafik aufnimmt:
XLConnect und Grafik!
Prozess und Statistik
Günter Faes, pus@faes.de 16
Die gespeicherte Boxplot.png-Datei wird über die Funktion addImage() in das Workbook- Objekt 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 …
XLConnect und Grafik!
Günter Faes Koniferenstrasse 82 D-41542 Dormagen pus@faes.de +49-(0)151 127 223 46 +49-(0)2133 536 827 www.r-statistik.de
Die letzte Seite
©-Hinweis: Die hier verwendeten Fotos stammen von Fotolia.com
Recommended