R und MS Excel Datenaustausch zwischen R und Excel auf Basis des XLConnect-Pakets Günter Faes.

Post on 05-Apr-2015

113 views 4 download

Transcript of R und MS Excel Datenaustausch zwischen R und Excel auf Basis des XLConnect-Pakets Günter Faes.

R und MS ExcelDatenaustausch zwischen R und Excel auf Basis des XLConnect-Pakets

Günter Faes

2 Prozess und StatistikGünter Faes, pus@faes.de

MS Excel

Sehr hohe Verbreitung

Einfache Bedienung

Datenmanagement Visualisierung

3 Prozess und StatistikGünter Faes, pus@faes.de

Statistikumgebung R

Sehr leistungsfähiges Statistikprogramm

Beliebig erweiterbar

Herausfordernd im Datenmanagement und

Visualisierung

4 Prozess und StatistikGünter Faes, pus@faes.de

Warum MS Excel und R

© cirquedesprit - Fotolia.com

© Rudie - Fotolia.com

© Rudie - Fotolia.com

Daten werden oft mit Excelerhoben und bearbeitet.

Der Analyst hat Vorstellungen,wie die Daten ausgewertetund dargestellt werden sollen.

Nur wie, wenn dieExcel-Möglichkeitennicht ausreichen?

Excel und Rverbinden?

5 Prozess und StatistikGünter Faes, pus@faes.de

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?

6 Prozess und StatistikGünter Faes, pus@faes.de

MS Excel und R über XLConnect

• Das Paket XLConnect wird durch die Mirai Solutions GmbH (Schweiz) zur Verfügunggestellt.

• Das Paket XLConnect stellt leistungsfähige Funktionen zum Lesen und Schreiben vonExcel-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!

7 Prozess und StatistikGünter Faes, pus@faes.de

MS Excel und R über XLConnect

Wird das Paket XLConnect erfolgreich geladen, erhalten Sie folgende Ausgabe auf derR-Konsole:

Lade nötiges Paket: XLConnectJarsLade nötiges Paket: rJavaXLConnect 0.2-4 by Mirai Solutions GmbHhttp://www.mirai-solutions.com ,http://miraisolutions.wordpress.com>

8 Prozess und StatistikGünter Faes, pus@faes.de

XLConnect – ein einfaches Beispiel

In diesem einfachen Beispiel wird die Excel-Datei Test.xlsx …

Einfluss

9 Prozess und StatistikGünter Faes, pus@faes.de

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.71 0 10.16 2 79 0 55 46.06 35.22 22 0 12.11 1 29 0 55 204.23 4.40 23 1 14.68 2 61 0 29 59.91 69.24 54 1 14.88 1 70 0 65 91.00 13.55 25 0 14.88 2 24 0 60 161.11 1.22 46 0 14.88 2 63 0 60 28.38 7.03 27 0 15.01 2 78 0 60 69.70 13.98 28 1 15.06 2 87 0 36 30.22 34.08 39 1 15.12 1 62 1 20 13.17 15.60 310 1 15.22 2 84 0 .........

# Auslesen der Tabelle „Einfluss“:

10 Prozess und StatistikGünter Faes, pus@faes.de

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)

11 Prozess und StatistikGünter Faes, pus@faes.de

XLConnect – es wird komplexer!

Hilfreich ist es, wenn über die Excel-Namensmanagerfunktion für denZellbereich ein Name vergeben wird.

In diesem Beispiel wird der NameMerkmal5_6 für einen Zellbereichüber die Spalten G (Nr.5) und H (Nr.6)vergeben!

Achtung! Es können nicht diegesamten Spalten ausgewähltwerden!

XLConnect unterstützt auch das Einlesen von Tabellenbereichen!

12 Prozess und StatistikGünter Faes, pus@faes.de

XLConnect – es wird komplexer!

> Region <- readNamedRegion(wb, name = "Merkmal5_6")> Region Nr.5 Nr.61 46.06 35.222 204.23 4.403 59.91 69.244 91.00 13.555 161.11 1.226 28.38 7.037 69.70 13.988 30.22 34.089 13.17 15.6010 65.93 21.7811 131.79 3.2312 66.82 14.6113 60.88 45.5514

Über die Funktion readNameRegion() wirdder in Excel namentlich festgelegte Zell-bereich Merkmal5_6 eingelesen.

13 Prozess und StatistikGünter Faes, pus@faes.de

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)

14 Prozess und StatistikGünter Faes, pus@faes.de

XLConnect und Grafik!

Wir möchten aus den Daten Region einen Boxplot erzeugen und als Grafik in die Excel-Dateieinfü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

15 Prozess und StatistikGünter Faes, pus@faes.de

Die Voraussetzung zum Einfügen der Grafik ist, dass in der Excel-Tabelle ein Bereichdefiniert wird, der die Grafik aufnimmt:

XLConnect und Grafik!

16 Prozess und StatistikGünter Faes, pus@faes.de

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 wirwollten? Schauen wir mal …

XLConnect und Grafik!

Günter FaesKoniferenstrasse 82D-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