Kapitel 2. Daten importieren und exportieren. 2.1 Daten im Textformat lesen und schreiben



Ähnliche Dokumente
Artikel Schnittstelle über CSV

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

6.3 Serienbriefe über Microsoft Excel und Word

32.4 Anpassen von Menüs und Symbolleisten 795i

Kurzanleitung. Toolbox. T_xls_Import

Klicken Sie auf Weiter und es erscheint folgender Dialog

Benutzer-Handbuch. Import / Export von Adressen

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Bearbeitung und Download von grossen Datenmengen in STAT-TAB

10 Lesen und Schreiben von Dateien

Datenmaske für SPSS. Für die Datenanalyse mit SPSS können die Daten auf verschiedene Weise aufbereitet

-Versand an Galileo Kundenstamm. Galileo / Outlook

ecall sms & fax-portal

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Kurzeinführung Excel2App. Version 1.0.0

Kommunikations-Management

2. Word-Dokumente verwalten

Datensicherung. Beschreibung der Datensicherung

Zwischenablage (Bilder, Texte,...)

Betriebshandbuch. MyInTouch Import Tool

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Skript 2 Import Excel-Datei

OUTLOOK-DATEN SICHERN

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Elexis-BlueEvidence-Connector

CodeSaver. Vorwort. Seite 1 von 6

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Handbuch zum Excel Formular Editor

Speichern. Speichern unter

Import und Export von Übergängern

EasyWk DAS Schwimmwettkampfprogramm

Professionelle Seminare im Bereich MS-Office

Programm GArtenlisten. Computerhinweise

Konvertierung der Empfängerdaten von BFS- Online.PRO über ZV-Tools

3. GLIEDERUNG. Aufgabe:

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Herzlich willkommen zum Kurs "MS Word 2003 Professional"

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Neue Steuererklärung 2013 erstellen

NEUES BEI BUSINESSLINE WINDOWS

Excel-Anwendung Wartungsplan

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Anleitung zum GEPA EXCEL Import Tool

Die Dateiablage Der Weg zur Dateiablage

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

DOS-Sympas Scope Dateien in Excel einlesen

Tutorial: Wie kann ich Dokumente verwalten?

Kurzanleitung zu. von Daniel Jettka

Export des MS Outlook-Adressbuches und Import in das Adressverzeichnis der TOSHIBA e-bridge-modelle

Quick-Guide Web Shop. Kurzanleitung für die Benutzer des Bernd Kraft Webshops

Adminer: Installationsanleitung

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Klassifikationen erfassen und importieren.

Anleitung über den Umgang mit Schildern

Tipps und Tricks zu Netop Vision und Vision Pro

Datenaustausch mit Datenbanken

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Qt-Projekte mit Visual Studio 2005

BricsCAD System Variablen

EvaSys-Export (Stand )

Synchronisations- Assistent

An-/Abwesenheitsplaner Überstunden verwalten

6 Bilder und Dokumente verwalten

Computeria Urdorf. Treff vom 28. März Tipps und Tricks

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Leistungsverbuchung Noteneingabe von Prüfungsleistungen über das Service-/SB-Portal an der Hochschule Landshut

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Einkaufslisten verwalten. Tipps & Tricks

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

ARAkoll 2013 Dokumentation. Datum:

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

Projekte Packen, Kopieren und Versenden

Registrierungsanleitung Informatik-Biber

Wie halte ich Ordnung auf meiner Festplatte?

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

Excel-Anwendung Lagerverwaltung

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Dateipfad bei Word einrichten

Beschreibung UTF-8 Codierung

Arbeiten mit dem Outlook Add-In

WorldShip Sendungsdaten exportieren

snap Adressen selektieren und Etiketten oder Serienbriefe in Word erstellen

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Mit einem Doppelclick auf den Ortsnamen erhalten Sie eine Liste mit allen Pulheimer Adressen angezeigt.

Standard-Kontaktformular

Importdatei EGID/EDID mit Excel erstellen und bearbeiten

12. Dokumente Speichern und Drucken

Kontakte mit MS-Outlook als Mail versenden Inhalt

teischl.com Software Design & Services e.u. office@teischl.com

Dokumentation FileZilla. Servermanager

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

AutoTexte und AutoKorrektur unter Outlook verwenden

P Ostasiatische Übersetzungen - v1.0.docx

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Transkript:

Kapitel 2 Daten importieren und exportieren Empirische Daten liegen typischerweise in Form von Datensätzen vor, die aus mehreren einzelnen Variablen bestehen. Diese Variablen können etwa Stufen eines Gruppierungsfaktors, Zeichenketten oder numerische Werte beinhalten, wobei alle Variablen Daten derselben Beobachtungsobjekte speichern. Während Abschn. 4.1 den Umgang mit Datensätzen eingehend vorstellt, sollen bereits in diesem Kapitel verschiedene Wege vorgestellt werden, auf denen die für eine statistische Analyse notwendigen Daten in R verfügbar gemacht werden können. Dabei empfiehlt es sich, nie mit den Originaldaten selbst zu arbeiten. Stattdessen sollten Kopien eines Referenz-Datensatzes verwendet werden, um diesen gegen unbeabsichtigte Veränderungen zu schützen. Es ist zwar möglich, Werte für einzelne Variablen auf der Konsole einzugeben und zu Datensätzen zusammenzufügen, in der Praxis kommt dies jedoch selten vor. Stattdessen werden Datensätze meist aus Online-Quellen oder aus Dateien eingelesen, die mit anderen Programmen erstellt wurden. Dateneingabe sowie der Datenaustausch mit anderen Programmen werden vertieft im Manual R Data Import/Export (R Development Core Team, 2013c) sowie von Spector (2008) behandelt. 2.1 Daten im Textformat lesen und schreiben Für den Import in R sollten Daten in einfachen Textdateien so organisiert sein, dass sich die Variablen in den Spalten und die Werte jeweils eines Beobachtungsobjekts in den Zeilen befinden. Für alle Variablen sollten gleich viele Beobachtungen vorliegen, so dass sich insgesamt eine rechteckige Datenmatrix ergibt. Bei fehlenden Werten ist es am günstigsten, sie konsistent mit einem expliziten Code zu kennzeichnen, der selbst kein möglicher Wert ist. Weiter ist darauf zu achten, dass Variablennamen den R-Konventionen entsprechen und beispielsweise kein #, %, ' oder Leerzeichen enthalten (vgl. Abschn. 1.3.1). Mit read.table() werden in Textform vorliegende Daten geladen und als Datensatz ausgegeben, für wichtige Argumente vgl. Tab. 2.1. RStudio stellt im Workspace-Tab mit Import Dataset eine grafische Oberfläche für read.table() bereit. Argument Tabelle 2.1: Wichtige Argumente von read.table() Bedeutung 20 D. Wollschläger, R kompakt, DOI 10.1007/978-3-642-40311-8_2, Springer-Verlag Berlin Heidelberg 2013

file header sep dec na.strings stringsasfactors Tabelle 2.1: (Forts.) (ggf. Pfad und) Name der einzulesenden Quelle bzw. des zu schreibenden Ziels (meist eine Datei), in Anführungszeichen gesetzt 1 Wenn in der einzulesenden Quelle in der ersten Zeile Spaltennamen vorhanden sind, muss header=true gesetzt werden (Voreinstellung ist FALSE) Trennzeichen zwischen zwei Spalten in file. Voreinstellung ist jeglicher zusammenhängender Whitespace (Leerzeichen oder Tabulatoren), unabhängig davon, wie viele davon aufeinander folgen. Andere häufig verwendete Werte sind das Komma (",") oder das Tabulatorzeichen ("\t") 2 Das in der Datei verwendete Dezimaltrennzeichen, Voreinstellung ist der Punkt "." Vektor mit den zur Codierung fehlender Werte verwendeten Zeichenketten. Voreinstellung ist "NA" Variablen mit Zeichenketten als Werten werden automatisch in Gruppierungsfaktoren konvertiert (Voreinstellung TRUE). Sollen solche Variablen als character Vektoren gespeichert werden, ist das Argument auf FALSE zu setzen (vgl. Abschn. 4.1.1) Für das Argument file können nicht nur lokal gespeicherte Dateien angegeben werden: Die Funktion liest mit file="clipboard" auch Werte aus der Zwischenablage, 3 die aus einem anderen Programm etwa mit Strg+c dorthin kopiert wurden. Online verfügbare Dateien können mit file=url(" URL ") direkt von einem Webserver geladen werden. Anders als in Webbrowsern muss dabei der Protokollteil der Adresse (http:// oder ftp://) explizit genannt werden, also z. B. file=url("http://www.server.de/datei.txt"). Zum Speichern von Objekten in Textdateien dient write.table(). > write.table(x= Objekt, file=" Dateiname ", sep=" ", dec=".", + row.names=true, col.names=true, quote=true) Die Funktion akzeptiert als Argumente u. a. file, sep und dec mit derselben Bedeutung wie bei read.table(). Statt in eine Datei kann write.table() mit file="clipboard" eine begrenzte Menge von Daten auch in die Zwischenablage schreiben (vgl. Fußnote 3), woraufhin sie in 1 Werden die einzulesenden Daten von R nicht gefunden, ist zunächst mit dir() zu prüfen, ob das von R durchsuchte Verzeichnis (ohne explizite Angabe eines Pfades ist es das mit getwd() angezeigte Arbeitsverzeichnis) auch jenes ist, das die Datei enthält. 2 Sobald für das Argument sep ein selbst gewählter Wert wie "\t" vergeben wird, ändert sich die Bedeutung dieses Zeichens: Tauchen in der Datei dann etwa zwei Tabulatoren hintereinander auf, interpretiert R dies als eine leere Zelle der Datenmatrix, also als fehlenden Wert. Ebenso gelten zwei nur durch ein Leerzeichen getrennte Werte nicht mehr als zwei Zellen, sondern als eine. 3 Unter MacOS ist file=pipe("pbpaste") zu verwenden. 21

anderen Programmen mit Strg+v eingefügt werden können. Über die Argumente row.names und col.names wird festgelegt, ob Zeilen- und Spaltennamen mit in die Datei geschrieben werden sollen (Voreinstellung für beide ist TRUE). Zeichenketten werden in der Ausgabe in Anführungszeichen gesetzt, sofern nicht das Argument quote=false gesetzt wird. Wenn z. B. der mit data.frame() erstellte Datensatz mydf (vgl. Abschn. 4.1) im aktuellen Arbeitsverzeichnis in Textform abgespeichert und später wieder eingelesen werden soll, so lauten die Befehle: > mydf <- data.frame(iv=factor(rep(c("a", "B"), 5)), DV=rnorm(10)) > write.table(mydf, file="data.txt") # Datensatz speichern > mydf <- read.table("data.txt", header=true) # Datensatz einlesen > str(mydf) # Information zu Variablen im Datensatz mydf 'data.frame': 10 obs. of 2 variables: $ IV: Factor w/ 2 levels "A","B": 1 2 1 2 1 2 1 2 1 2 $ DV: num 0.425-1.224-0.572-0.738-1.753... > head(mydf, n=4) # die ersten 4 Zeilen von mydf IV DV 1 A -1.7875911 2 B 1.2069604 3 A -1.3862725 4 B 0.6903706 2.2 R-Objekte speichern und laden Eine andere Möglichkeit zur Verwaltung von Objekten in externen Dateien bieten die Funktionen save( Daten, file=" Dateiname ") zum Speichern und load(file=" Dateiname ") zum Öffnen. Unter Daten können dabei verschiedene Objekte durch Komma getrennt angegeben werden. Alternativ lässt sich das Argument list verwenden, das einen Vektor mit den Namen der zu speichernden Objekte akzeptiert. So würde list=ls() alle sichtbaren Objekte des Workspace übergeben. Die Daten werden in einem R-spezifischen, aber plattformunabhängigen Format gespeichert, bei dem Namen und Klassen der gespeicherten Objekte erhalten bleiben. Deshalb ist es nicht notwendig, das Ergebnis von load() einem Objekt zuzuweisen; die gespeicherten Objekte werden unter ihrem Namen wiederhergestellt. > save(mydf, file="data.rdata") # speichere mydf im Arbeitsverzeichnis > load("data.rdata") # lese mydf wieder ein Ähnlich wie save() Objekte in einem binären Format speichert, schreibt dump(" Objekt ", file=" Dateiname ") die Inhalte von Objekten in eine Textdatei, die sich auch durch gewöhnliche Texteditoren bearbeiten lässt. Auf diese Weise erzeugte Dateien lassen sich mit source(" Dateiname ") einlesen. > dump("mydf", file="dumpmydf.txt") # Datensatz speichern > source("dumpmydf.txt") # Datensatz einlesen 22

2.3 Daten im Editor bearbeiten Kapitel 2 Daten importieren und exportieren Bereits im Workspace vorhandene Datensätze oder einzelne Variablen können unter Windows und MacOS über den in R integrierten Dateneditor geändert werden. Er wird mit fix( Objekt ) aufgerufen und ähnelt dem Arbeitsblatt eines Programms zur Tabellenkalkulation. Innerhalb des Editors können Zellen mit der Maus ausgewählt und dann durch entsprechende Tastatureingaben mit Werten gefüllt werden eine leere Zelle steht dabei für einen fehlenden Wert. Ebenso lassen sich durch einen Klick auf die Spaltenköpfe Name und Datentyp der Variablen neu festlegen. Während der Editor geöffnet ist, bleibt die Konsole für Eingaben blockiert. Vorgenommene Änderungen werden automatisch im Datensatz gespeichert, sobald der Editor geschlossen wird. > fix(mydf) 2.4 Daten mit anderen Programmen austauschen Wenn Daten mit anderen Programmen ausgetauscht werden sollen etwa weil die Daten nicht in R eingegeben wurden, so ist der Datentransfer oft in Form von reinen Textdateien möglich. Diese Methode ist auch recht sicher, da sich die Daten jederzeit mit einem Texteditor inspizieren lassen und der korrekte Transfer in allen Stufen kontrolliert werden kann. In diesem Fall kommen in R meist read.table() und write.table() zum Einsatz. Beim Im- und Export von Daten in Dateiformaten kommerzieller Programme besteht dagegen oft die Schwierigkeit, dass die Formate nicht öffentlich dokumentiert und auch versionsabhängigen Änderungen unterworfen sind. Beim Austausch von Daten über proprietäre Formate sollten daher bevorzugt einfach strukturierte Datensätze verwendet werden. 2.4.1 Programme zur Tabellenkalkulation Programme zur Tabellenkalkulation (etwa Microsoft Excel oder OpenOffice Calc) sind für die Dateneingabe komfortabler zu benutzen und bieten mehr Funktionen als der in R mitgelieferte Dateneditor. Der Transfer von Daten zwischen Excel oder Calc und R ist am einfachsten, wenn die Daten aus der Tabellenkalkulation in eine Textdatei exportiert werden, wobei als Spalten-Trennzeichen der Tabulator verwendet wird. Dezimaltrennzeichen ist in Programmen zur Tabellenkalkulation für Deutschland meist das Komma. Um eine mit diesen Einstellungen exportierte Datei mit Spaltennamen in der ersten Zeile in R zu laden, wäre ein geeigneter Aufruf von read.table(): > mydf <- read.table(file=" Dateiname ", header=true, sep="\t", dec=",") Excel und Calc verwenden in der Voreinstellung den Tabulator als Spaltentrennzeichen, ein Austausch kleinerer Datenmengen ohne Umweg über eine externe Datei ist also auch wie folgt möglich: Zunächst wird in der Tabellenkalkulation der gewünschte Datenbereich inkl. der Variablennamen in der ersten Zeile markiert und mit Strg+c in die Zwischenablage kopiert. In R unter Windows können die Daten dann so eingelesen werden: 23

> mydf <- read.table(file="clipboard", header=true, sep="\t", dec=",") Um einen Datensatz aus R heraus wieder einem anderen Programm verfügbar zu machen, wird er in demselben Format gespeichert entweder in einer Datei oder bei kleinen Datensätzen in der Zwischenablage. Im anderen Programm können die Daten aus der Zwischenablage dann mit Strg+v eingefügt werden. > write.table(x= Datensatz, file="clipboard", sep="\t", dec=",", + row.names=false) Für Excel stellt RExcel ein Add-In zur Verfügung, das dafür sorgt, dass R-Funktionen direkt aus Excel heraus benutzbar sind (Heiberger & Neuwirth, 2009; Neuwirth, 2013). Zudem ermöglicht es einen Datenaustausch ohne den Umweg eines Exports ins Textformat, indem es in R Funktionen zum Lesen und Schreiben von Dateiname.xlsx Dateien bereitstellt. Um Excel-Dateien in R zu verwenden, eignet sich auch das Paket XLConnect (Mirai Solutions GmbH, 2013). Generell empfiehlt es sich, aus Excel zu importierende Daten dort so anzuordnen, dass sie in der ersten Zeile und Spalte des ersten Tabellenblattes beginnen, wobei die Spaltennamen in der ersten Zeile stehen. Excel-Tabellen lassen sich auch als ODBC-Datenbanken lesen, vgl. Abschn. 2.4.3. 2.4.2 SPSS, Stata und SAS SPSS verfügt mit den Essentials for R über eine nachträglich installierbare Erweiterung, mit der R-Befehle direkt in SPSS ausgewertet werden können. Auf diese Weise lassen sich dort nicht nur in R verwaltete Datensätze nutzen, sondern auch ganze Auswertungsschritte bis hin zur Erstellung von Diagrammen in R-Syntax durchführen. Genauso erlaubt es die Erweiterung, mit SPSS erstellte Datensätze im R-Format zu exportieren. Einige der im folgenden erwähnten Einschränkungen, die andere Methoden des Datenaustauschs mit sich bringen, existieren für die genannte Erweiterung nicht, was sie zur bevorzugten Methode der gemeinsamen Verwendung von SPSS und R macht. 4 SPSS-Datensätze können in R mit Funktionen gelesen und geschrieben werden, die das Paket foreign (R Core Members, DebRoy, Bivand et al., 2013) bereitstellt. So liest read.spss() Dateiname.sav Dateien. 5 > read.spss(file=" Dateiname ", use.value.labels=true, to.data.frame=false, + trim.factor.names=false) Variablen, deren Werte in SPSS vollständig mit Labels versehen sind, konvertiert read.spss() in Faktoren, sofern nicht use.value.labels=false gesetzt wird. In der Voreinstellung ist das Ergebnis ein Objekt der Klasse list, was durch das Argument to.data.frame=true geändert werden kann. Mit trim.factor.names=true wird erreicht, dass Bezeichnungen von Faktorstufen auf ihre tatsächliche Länge gekürzt werden andernfalls können sie ungewollt 256 Zeichen umfassen. Wurden in SPSS auch Labels für die Variablen vergeben, tauchen diese nach 4 Für einen detaillierten Vergleich der Arbeit mit R, SAS und SPSS vgl. Muenchen (2011), der auch den Datenaustausch zwischen diesen Programmen behandelt. 5 Die Funktion spss.get() aus dem Paket Hmisc (Harrell Jr, 2013) verwendet read.spss() mit geeigneteren Voreinstellungen und verbessert den Import von Datumsangaben und Variablen-Labels. 24

dem Import als Vektor im Attribut variable.labels des erstellten Objekts auf und können etwa über attr( Objekt, "variable.labels") gelesen und verändert werden. Sollen in R bearbeitete Datensätze SPSS verfügbar gemacht werden, ist write.foreign() aus dem Paket foreign zu benutzen. > write.foreign(df= Datensatz, datafile=" Dateiname ", + codefile=" Dateiname ", package="spss") Hierbei ist unter datafile der Name der Textdatei anzugeben, in der sich die eigentlichen Daten befinden sollen. Der für codefile einzutragende Name bezeichnet die SPSS Syntax-Datei mit der Endung sps mit jenen Befehlen, die in SPSS zum Einlesen dieser Daten dienen. Der erste von R in diese Datei geschriebene Befehl bezeichnet dabei den Namen der Daten-Datei häufig empfiehlt es sich, ihm im Syntax-Editor von SPSS den vollständigen Dateipfad voranzustellen, damit SPSS die Datei in jedem Fall findet. Zudem kann SPSS Textdateien einlesen, wie sie mit write.table(..., row.names=false, sep="\t", dec=",") erstellt werden. Beim Import von Daten in SPSS ist darauf zu achten, dass die Variablen letztlich das richtige Format (numerisch oder Text) sowie den richtigen Skalentyp (nominal, ordinal oder metrisch) erhalten. Weiterhin orientiert sich SPSS in seiner Wahl des Dezimaltrennzeichens nicht an den Windows-Ländereinstellungen, sondern an einer internen Ländereinstellung (sog. LOCALE). Nach Möglichkeit sollten Daten also bereits mit jenem Dezimaltrennzeichen exportiert werden, das SPSS erwartet. Wo dies nicht möglich ist, lässt sich die Ländereinstellung in SPSS vor dem Import mit dem Befehl SET LOCALE='German'. so umschalten, dass ein Komma als Dezimaltrennzeichen gilt und mit SET LOCALE='English'. so, dass dies der Punkt ist. Sollten Umlaute beim Import Probleme bereiten, können sie bereits in R mit Befehlen wie Variable <- gsub("ä", "ae", Variable ) ersetzt werden (vgl. Abschn. 3.10.4). Neben dem Datenaustausch mit SPSS gibt es auch die Möglichkeit, Daten mit Stata zu teilen, wofür ebenfalls Funktionen aus dem foreign Paket dienen (für Details vgl. Muenchen & Hilbe, 2010): read.dta() liest Dateiname.dta Dateien, write.foreign(..., package="stata") schreibt sie. Der Austausch mit SAS geschieht mit Dateien im XPORT-Format analog über read.xport() und write.foreign(..., package="sas"). 2.4.3 Datenbanken In R lassen sich Daten aus Datenbanken vieler verschiedener Formate direkt lesen. 6 Dabei muss zunächst eine Verbindung zur Datenbank hergestellt werden, woraufhin sich SQL-Kommandos wie fetch und query in der üblichen Syntax anwenden lassen. Dies bietet sich besonders bei extrem großen Datensätzen an, die zuviel Arbeitsspeicher belegen würden, wenn man sie als Ganzes in R öffnen wollte (vgl. Abschn. 11.2.5). Geeignete Funktionen für Datenbanken im ODBC-Format (dies schließt Excel-Dateien mit ein 7 ) werden vom Paket RODBC bereitgestellt (Ripley, 2012). Auch für MySQL, Oracle, SQLite Datenbanken und die Java Datenbankschnittstelle existieren ähnliche Pakete auf CRAN. 6 Für eine detaillierte Beschreibung der Arbeit mit Datenbanken vgl. J. Adler (2009) und Spector (2008). 7 Diese Möglichkeit setzt voraus, dass ein ODBC-Treiber unter Windows installiert ist. 25

Im Beispiel soll eine Datenbankverbindung zur Excel-Datei data.xls geöffnet werden, die u. a. das Tabellenblatt sheet1 enthält. In diesem Tabellenblatt befinden sich drei Spalten mit jeweils einem Variablennamen in der ersten und Daten von vier Beobachtungen in den folgenden Zeilen. # Datenbankverbindung im Schreib-Lese-Modus öffnen > library(rodbc) # für odbc Befehl (), sql Befehl () > xlscon <- odbcconnectexcel2007("data.xls", readonly=false) > odbcgetinfo(xlscon) # Verbindungsinformationen... > sqltables(xlscon) # Tabellenblätter auflisten (Spalte TABLE_NAME) TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS 1 Pfad xls Datei \\data <NA> sheet1$ SYSTEM TABLE <NA> 2 Pfad xls Datei \\data <NA> sheet2$ SYSTEM TABLE <NA> > (mydfxls <- sqlfetch(xlscon, "sheet1")) # sheet1 in R speichern VpNr IV DV 1 1 A 4 2 2 A 6 3 3 B 7 4 4 B 8 # Fälle nach verbundenen Kriterien für IV und DV auswählen > sqlquery(xlscon, "select * from [sheet1$] where IV = 'A' AND DV < 10") VpNr IV DV 1 1 A 4 2 2 A 6 > mydfxls$newdv <- rnorm(nrow(mydfxls)) # Variable hinzufügen > sqlsave(xlscon, mydfxls, tablename="newsheet") # in Excel speichern > odbcclose(xlscon) # Datenbankverbindung schließen 26

http://www.springer.com/978-3-642-40310-1