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

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

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

Page 1: 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

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

2 Prozess und StatistikGünter Faes, [email protected]

MS Excel

Sehr hohe Verbreitung

Einfache Bedienung

Datenmanagement Visualisierung

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

3 Prozess und StatistikGünter Faes, [email protected]

Statistikumgebung R

Sehr leistungsfähiges Statistikprogramm

Beliebig erweiterbar

Herausfordernd im Datenmanagement und

Visualisierung

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

4 Prozess und StatistikGünter Faes, [email protected]

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?

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

5 Prozess und StatistikGünter Faes, [email protected]

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?

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

6 Prozess und StatistikGünter Faes, [email protected]

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!

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

7 Prozess und StatistikGünter Faes, [email protected]

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>

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

8 Prozess und StatistikGünter Faes, [email protected]

XLConnect – ein einfaches Beispiel

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

Einfluss

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

9 Prozess und StatistikGünter Faes, [email protected]

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“:

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

10 Prozess und StatistikGü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)

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

11 Prozess und StatistikGünter Faes, [email protected]

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!

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

12 Prozess und StatistikGünter Faes, [email protected]

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.

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

13 Prozess und StatistikGünter Faes, [email protected]

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)

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

14 Prozess und StatistikGünter Faes, [email protected]

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

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

15 Prozess und StatistikGünter Faes, [email protected]

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

XLConnect und Grafik!

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

16 Prozess und StatistikGünter Faes, [email protected]

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!

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

Günter FaesKoniferenstrasse 82D-41542 Dormagen

[email protected]

+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