Umgang mit R unter Windows. Stand:

Ähnliche Dokumente
Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden.

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Datenmanagement in R: Eine Einführung

Erwin Grüner

> patienten<-data.frame( c(28,61,79,54,na,48), c(2,2,3,2,1,1), c("pillen","pillen","massage","gymnastik","massage","gymnastik"),

Formale Methoden der Ökonomik: Einführung in die empirische Wirtschaftsforschung

Einführung in die statistische Sprache R

Formale Methoden der Ökonomik: Einführung in die empirische Wirtschaftsforschung

Erwin Grüner

Statistisches Programmieren

Anwendungssoftware III (MATLAB)

Prozess und Statistik. Einführung in. Eine R-Übersicht und Motivation R in der täglichen Arbeit zu nutzen. Günter Faes faes.de.

Erwin Grüner

Arbeiten mit Daten. Session 3

1 Keine Angst vor Daten

Computerwerkstatt: Umgang mit Daten in R (- Studio)

Eine Einführung in R: Grundlagen I

FreeMat unter Windows & Linux

2 R die Basics. Inhalt. 2.1 Ziel. 2.2 R als Taschenrechner. Markus Burkhardt

Einfaches Datenmanagement in R

0.1 R starten, R beenden Wenn man R startet, beginnt man einen Session. Man beendet einen Session mit

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

'group' statt 'daten$group'. 5) The Help System

Einstieg in die Informatik mit Java

W-Rechnung und Statistik für Ingenieure Übung

2. Programmierung in C

Erste Schritte in R. 27. Oktober 2012 Statistik mit R Heike Zinsmeister WS 2011/12

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Lineare Algebra mit dem Statistikprogramm R

Kompaktwissen zu R. 1. Hilfe. Allgemein. Beispiele hilfreicher Internetseiten (mit weiteren Verweisen zu Einführungen und Tutorien)

Wima 1 - Praktikum (Woche 4)

Einführung in die Programmierung 1

W-Rechnung und Statistik für Ingenieure Übung 2

Tutorium Java Ein Überblick. Helge Janicke

Einstieg in die Informatik mit Java

Statistische Software (R) Konstanten. Datentypen in R. Aufruf der Hilfeseiten zu grundlegende Operatoren und Funktionen: Paul Fink, M.Sc.

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Datenaufbereitung, Grafische Datenanalyse

10 Lesen und Schreiben von Dateien

7. Pakete Grundlagen der Programmierung 1 (Java)

Einführung in R. Matthias Templ, Leonhard Seyfang. Oktober 2005

IDE Grundlagen Vektoren Matrizen Faktoren Dataframes Visualisierung Tips. Quick & dirty

Allgemeiner Import-Ablauf

Datenhandling und Einstieg in die Analyse mit R

MATLAB. Eingabe und Ausgabe

Russische Übersetzungen (Exceltabelle) in EPLAN 5.70 einlesen...

Einstieg in die Informatik mit Java

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

3 Kurzeinführung in Matlab

Canto Cumulus Daten nach Daminion importieren

Übersicht. Was ist R? Entstehung von R. Einführung in R - Eine Umgebung für statistisches Rechnen

Geocodierung mit RStudio am Beispiel Google Maps API

Einstieg in die Informatik mit Java

GI Vektoren

Repetitorium Informatik (Java)

Schreibweise in IGOR: 6.02E-23

Themes Organisation in Contao

1 Einführung in RStudio

Probleme beim Projekt-Speichern

BILDARCH LAN. 1 Einleitung. 2 Installation Übersicht. Server

TIPPS & TRICKS SAP CM Teil 3

Einstieg in die Informatik mit Java

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Einstieg in die Informatik mit Java

Inhaltsverzeichnis. Einleitung Text vom Benutzer erfragen Text über ein Dialogfeld erfragen... 23

MSI SIM Editor Benutzerhandbuch. MSI SIM Editor Benutzerhandbuch

Kurzanleitung für die Import/Export Funktion Kinderleicht Produkte importieren und aktualisieren und exportieren

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Einführung in die Java- Programmierung

Erwin Grüner

Access 2010 Programmierung Import und Export nach Excel

Einstieg in die Informatik mit Java

Elementare Datentypen in C++

Crashkurs Haskell Mentoring WiSe 2016/17. Anja Wolffgramm Freie Universität Berlin

Informationsverarbeitung im Bauwesen

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Tag 9: Datenstrukturen

So bringst du Prolog zum Laufen...

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Installationsanleitung BalticScore 3.0

Einführung in R. 1 Literatur und Software 1

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Typo3 Handbuch Redaktion: Peter W. Bernecker Tel.: 069 / pw.bernecker@ev medienhaus.de Stand: 6. Oktober 2014

R Reader Arbeiten mit dem Statistikprogramm R. von Jörg Groß & Benjamin Peters

Dr. Monika Meiler. Inhalt

Experte. I-CH-118 Strukturiert implementieren

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

First Steps in R. Corpus Linguistics Heike Zinsmeister WS 2009/10

RightsLink der Frankfurter Buchmesse Dokumentation

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL?

Aufbau des Minitab-Bildschirms. TQU-Schulungsunterlagen. TQU-Akademie 1. Einführung Minitab

Daten-Ex- und Import mit Oracle und PostgreSQL

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Transkript:

Umgang mit R unter Windows Stand: 2017-07-24

R: Software R für Windows (XP etc.) Version 3.2.4 (3/2016) Linksammlung zu R: http://www.uni-due.de/hummell/r/ Portable R R-Studio für Windows, Linux, Mac OS (Ascii-Text) Editoren: Tinn-R; Notepad++ (ggf. mit der Erweiterung NppToR)

Umgang mit R unter Windows Vorschlag zur Organisation der Datenablage: Arbeits-Verzeichnis für Daten unter Windows anlegen (-> WorkingDirectory ) z.b. R_DATA Dort Icon für Verknüpfung mit R anlegen (R lädt dann ggf. den dort gespeicherten Workspace (s.u.)) sowie ggf. Icon für Verknüpfung mit einem ASCII-Text- Editor anlegen ggf. Kommunikation des Ascii-Text-Editors (z.b. Notepad++) mit R herstellen

WorkingDirectory (Arbeits-Verzeichnis) Unter R WorkingDirectory ermitteln : getwd() Ggf. WorkingDirectory ändern mit Windows GUI oder: setwd( <ordner> ) NB.: Bei Pfadangaben unter R statt \ immer entweder / oder \\ nehmen, da \ eine sog. Escape-Sequenz einleitet.

Auf Dateien im WorkingDirectory zugreifen Inhalt des WorkingDirectory anzeigen: dir() Ascii-Text-Dateien ansehen: file.show( <datei> ) Systemfunktionen nutzen: z.b. PDF s, JPEG s ansehen: system( open <datei.pdf> ) system( open <datei.jpg> ) Funktioniert auch mit Dateien im Internet system( open <url>/<dir>/<datei> )

Workspace (Arbeitsbereich) Objekte im Workspace von R auflisten: objects(); auch: ls() Objekte selektiv auflisten: ls(pat= <pattern> ) Ggf einen bestimmten gespeicherten Workspace laden: (R lädt standardmäßig den Workspace des Verzeichnisses, aus dem es aufgerufen wurde) Mit Windows GUI oder: load( <datei.rdata> ) [NB!: <datei.rdata> ist i.d.r. binäre Datei]

Workspace (Arbeitsbereich) Einzelne Objekte aus Workspace entfernen: rm(<obj1>,<obj2>,...,<objn>) Alle Objekte entfernen: rm(list=objects()); rm(list=ls()) Objekte selektiv entfernen: rm(list=ls(pat= <pattern> )) Workspace (als binäre Datei) sichern (speichern) mit Windows GUI oder: save.image( <datei.rdata> ) Als Ascii-Datei speichern: save.image( <datei.rdata>,ascii=true)

Befehls-History History ausgeben: history(); history(max.show=n); history(reverse=true) History laden bzw. speichern mit Windows GUI <datei.rhistory> ist ASCII-Text-Datei

Ergebnisse sichern und ausgeben Ausgabe in ASCII-Text-Datei umleiten: sink( <datei.txt> ) Erweitert: sink( <datei.txt>, append=true,split=true) Ausgabeumleitung beenden: sink() Komplette Ausgabe der Sitzung in ASCII-Text-Datei (z.b. lastsave.txt ) speichern mit Windows GUI Alle Objekte in ASCII-Text-Datei speichern dump(list = objects(), <datei.txt> )

Pakete Auf dem Rechner vorhandene Pakete anzeigen: library() Geladene (d.h. im Suchpfad befindliche) Pakete anzeigen: search() Paket laden: library(<paket>); auch: require (<paket>) Paket aus dem Suchpfad entfernen: detach(package: <paket>) Weitere Befehle zum Verwalten (Installieren etc.) von Paketen finden mit: apropos( packages ) Server wählen: choosecranmirrors()

Hilfe Allgemeine Hilfe: help.start() Hilfe zu einem Paket: help(package= <paket> ); help(<paket>);?<paket> Hilfe zu Funktionen etc. help(<func>);?<func>; help.search( <func> );??<func> Infos zum Umfeld der Funktionen: apropos( <func> ) Beispiele für Funktionen: example(<func>) Suchen auf der R-Seite: RSiteSearch()

Import von Datentabellen im Ascii-Text-Format (1) Tabelle (im ASCII-Text-Format) importieren: read.table( <datei> ) und im Workspace ablegen: <object> <- read.table( <datei> ) Dadurch wird ein Objekt der Klasse data.frame erzeugt Klassenzugehörigkeit feststellen: class(<object>) Prüfen mit: is.data.frame(<object>)

Import von Datentabellen im Ascii-Text-Format (2) Tabelle (im ASCII-Text-Format) über Zwischenablage importieren: read.table(stdin()) Zu importierende Tabelle als Matrix im Workspace ablegen: <matrix> <- as.matrix(read.table( <datei> ))

Matrix aus Datentabelle erzeugen und umgekehrt Erzeugen einer Matrix aus einem data.frame : <matrix> <- as.matrix(<data.frame>) Prüfen: is.matrix(<object>) Erzeugen einer Datentabelle aus Matrix: <data.frame> <- as.data.frame(<matrix>) Prüfen: is.data.frame(<object>)

Datentypen und Datenstrukturen (1) R arbeitet mit drei "basalen" Datentypen: a) "numeric" (insbesondere vom Typ "integer" und "double" b) "character" (Zeichen und Zeichenketten) c) "logical" (Boolesche Werte: TRUE, FALSE) Als Spezialfall zusätzlich: "factor" bzw. "ordered" (zur Kodierung nominal- bzw. ordinalskalierter Werte)

Datentypen und Datenstrukturen (2) Abfrage z.b. mit is.numeric(), is.integer(), is.double, is.finite(), is.infinite() is.character(), is.logical(), is.na(),is.nan() Konvertierung z.b. mit as.character(), as.integer() Objekte des gleichen(!) Datentyps können zu einem Vektor als der einfachsten Datenstruktur zusammengefasst werden; z.b. mit Hilfe der Funktion c().

Datentypen und Datenstrukturen (3) Vektoren können aus Objekten vom Typ "numeric", "character", "logical" bestehen (dürfen aber in einem Vektor nicht gemischt werden) Eigenschaften von Vektoren können folgendermassen erfragt werden: class() mode(); bei "numeric" zusaetzlich mit typeof() length()

Datentypen und Datenstrukturen (4) Eine einzelne Zahl, ein einzelnes Zeichen oder eine einzelne Zeichenkette, ein einzelner Boolescher Wert ist ein Vektor der Länge 1. Einzelne Elemente eines Vektors werden mit [] selektiert. Vektoren haben unter R keine Dimension! Die Abfrage dim() oder attributes() liefert 'NULL'.

Datentypen und Datenstrukturen (5) Neben Vektoren gibt es als weitere Datenstrukturen Matrizen, Arrays, Listen, DataFrames Matrizen (2-dimensionale Schemata z.b. von Zahlen) und Arrays (3-dimensionale Schemata) werden unter R als Vektoren(!) geführt, die - im Unterschied zu Vektoren im landläufigen Sinne - ein Dimensionsattribut haben. Das zeigt insbesondere der Vergleich von dim() mit length(), angewandt auf Vektoren, Matrizen und Arrays. Matrizen und Arrays können (wie Vektoren) Daten vom Typ "numeric", aber auch "character" oder "logical" umfassen (aber nicht gemischt werden).

Datentypen und Datenstrukturen (6) Einzelne Elemente einer Matrix werden mit [,] mit zwei Parametern angesprochen; einzelne Elemente eines Arrays mit [,,] mit drei Parametern Listen erlauben es, beliebige Mengen von Vektoren und/oder Matrizen und/oder Arrays und/oder DataFrames (s.u) mit jeweils unterschiedlichen Datentypen zu einer komplexen Datenstruktur zusammenzufassen. Listen koennen selbst wiederum Listen (beliebiger Komplexitaet) beinhalten.

Datentypen und Datenstrukturen (7) Einzelne Komponenten einer Liste werden mit [[]] angesprochen oder sofern vorhanden, mit dem Namen der Komponente (unter Verwendung des $-Zeichens).

Datentypen und Datenstrukturen (8) DataFrames sind für R Listen und zwar Listen aus Vektoren gleicher Länge. In der Ausgabe werden die Vektoren als Spalten ausgegeben, die den Variablen einer Datenmatrix (im landläufigen Sinne) entsprechen. Die Tatsache, dass DataFrames Listen sind, erlaubt es, in einem DataFrame verschiedene Datentypen ("numeric","character","logical","factor","ordered") zu mischen.

Daten im ASCII-Text-Format exportieren Datentabelle bzw. Datenmatrix exportieren: write.table(<data.frame>, <datei> ) write.table(<matrix>, <datei> ) Daten als Matrix mit, als Dezimalzeichen exportieren: require(mass) options(outdec=, ) write.matrix(<matrix>, <datei> ) options(outdec=. )

Zeichenketten einlesen und exportieren Zeichenketten einlesen: dget( <Datei mit Zeichenketten> ) Zeichenkettenobjekt in Datei schreiben dput(<objekt>, <datei> ) N.B. Bei dget() und dput() gehen Kommentare (mit # ) verloren.

Weitere Möglichkeiten des Lesens bzw. Schreibens (1) Übersicht mit apropos( read ) bzw. apropos( write ) readclipboard(), writeclipboard() für CharacterStrings readlines(): Liest Text-Datei mit n Zeilen zeilenweise in Charakter String mit n Komponenten writelines(): Schreibt CharacterStrings

Weitere Möglichkeiten des Lesens bzw. Schreibens (2) read.table(stdin()): Liest vom Clipboard Falls es sich um Zeichenketten handelt, können diese mit as.matrix(read.table(stdin()) als Charakter-String abgelegt werden scan(): readline(): Liest vom Prompt

Import von Excel-Datenblättern (1) Beim Importieren von Excel-Datenblättern sind insbesondere folgende Spezialfälle zu berücksichtigen: Erstens: Zeichen für Feldseparatoren (US:, - DE: ; ) bzw. Tabulator: ( \t ) als Separator Bei Import per Copy&Paste ( clipboard ) ist Tabulator ( \t ) der Feldseparator Zweitens: Dezimalzeichen (US:. - DE:, ) Drittens: Stehen Spaltennamen in der ersten Zeile? (-> header=t ) Viertens: Stehen Zeilennamen in der ersten Spalte? (-> row.names= X bzw. row.names=1 )

Import von Excel-Datenblättern (2) Standardmäßig gelten folgende Vorgabewerte: read.table (file, header=false, sep=, dec=., ) read.csv (file, header=true, sep=,, dec=., ) read.csv2 (file, header=true, sep= ;, dec=,, ) read.delim (file, header=true, sep= \t, dec=., ) read.delim2 (file, header=true, sep= \t, dec=,, ) read.csv2() und read.delim2() verwenden also deutsche Konventionen; haben aber unterschiedliche Feldseparatoren

Import von Excel-Datenblättern (3) Beispiele: A) Excel-Datenblatt (im CSV-Format!) importieren : read.csv2( <datei.csv> ) read.csv2( <datei.csv>, row.names= X ) B) Excel-Datenblatt über Zwischenablage ( clipboard ) importieren (Spaltennamen in erster Zeile ; Zeilennamen in erster Spalte): read.table( clipboard, sep= \t, dec=,, header=t, row.names= X )

Import von Excel-Datenblättern (4) C) Excel-Datenblatt über Zwischenablage importieren (Keine Spaltennamen in erster Zeile und keine Zeilennamen in erster Spalte): read.table( clipboard, sep= \t,dec=, ) mit Zeilennamen in erster Spalte: read.table( clipboard, sep= \t, dec=,, row.names=1) Statt read.table(... sep= \t, dec=, ) auch: read.delim2( clipboard ) verwenden Ergebnis ist in allen Fällen ein data.frame

Import von Excel-Datenblättern (5) Bestimmtes Datenblatt einer Excel-Datei einlesen (geht im Unterschied zu read.csv2() nicht mit Dateien aus dem Netz; s.u.): require(xlsreadwrite) read.xls( <datei.xls> ) read.xls( <datei.xls>,sheet = 1)

Export von Tabellen als Excel-Datei im CSV- Format write.csv2(<matrix>, <datei.csv> ) write.csv2(<data.frame>, <datei.csv> )

Aus dem Netz importieren (1) Datentabellen im ASCII-Text-Format aus Netz importieren: read.table (con <- url( http://<url>/<dir>/<datei> )) read.table( http://<url>/<dir>/<datei> ) CSV-Dateien aus Netz importieren: read.csv2(con <- url( http://<url>/<dir>/<datei.csv>),row.names= X )) read.csv2 ( http://<url>/<dir>/<datei.csv>),row.names= X ) read.csv2 ( http://<url>/<dir>/<datei.csv>),row.names=1)

Aus dem Netz importieren (2) Skriptdatei (im ASCII-Text-Format) importieren: source(con <- url( http://<url>/<dir>/<script.r> )) source( http://<url>/<dir>/<script.r> ) Binäre.RDatei importieren: load(con <- url( http://<url>/<dir>/<bindatei.rdata> ))

Eigenschaften von R-Objekten ermitteln class(<object>) print(<object>); <object> attributes(<object>) str(<object>) mode(<object>) typeof(<object>) length(<object>) summary(<object>)

Datentypen, Datenstrukturen, weitere Objektklassen (1) Datentypen: numeric, character, (ordered) factor, logical Datenstrukturen: vector(), matrix() / array(), list(), data.frame() Abfragen, z.b.: is.numeric(), is.character(), is.ordered()... is.matrix(), is.array... NB.: Jede Matrix ist auch Array, aber nicht umgekehrt; hier besser Klassenzugehörigkeit bestimmen

Datentypen, Datenstrukturen, weitere Objektklassen (2) Transformieren: as.numeric(), as.factor(), as.ordered()... as.matrix(), as.data.frame()... N.B.: Numerisch kodierte Faktoren müssen erst in character umgewandelt werden: as.numeric(as.character(<factor>)) im Vergleich zu: as.numeric(<factor>) Weitere Objektklassen z.b. dist, hclust etc.

Attribute von Matrizen attributes(<matrix>) mode: list attributes(<matrix>)$dim mode: numeric dim(<matrix>) mode: numeric attributes(<matrix>)$dimnames mode:list dimnames(<matrix>) mode: list colnames(<matrix>) mode: character rownames(<matrix>) mode: character row.names(<matrix>) mode: character

Attribute von DataFrames attributes(<datafr>) mode: list attributes(<datafr>)$names mode: character attributes(<datafr>)$row.names mode: numeric (!) dim(<datafr>) mode: numeric names(<datafr>) mode: character colnames(<datafr>) mode: character row.names(<datafr>) mode: character rownames(<datafr>) mode: character

Label von Zeilen und Spalten names(): Vektoren, Listen, Spalten von DataFrames rownames(), row.names(), dimnames()[[1]]: Matrizen, Arrays, DataFrames colnames(), dimnames()[[2]]: Matrizen, Arrays, DataFrames dimnames[[3]]: Arrays

Dimensionen von Vektoren, Matrizen, Arrays Matrizen und Arrays werden von R als Vektoren mit einem dim-attribut geführt, das aus 2 bzw. 3 Zahlen besteht Vektoren und Skalare sind dagegen dimensionslos Extrahierte Zeilen oder Spalten einer Matrix verlieren ihr dim-attribut, es sei denn man setzt Parameter [, drop=f] Extrahierter Skalar einer Matrix hat ebenfalls dim=null, es sei denn [, drop=f]

Zuweisung von neuen Attributen Mit attr() weitere Attribute setzen und lesen z.b. Zuweisung eines neuen Attributs dok vom mode character an ein Objekt (z.b. DataFrame) attr(<obj>, dok ) <- <Text> attributes(<obj>) attributes(<obj>)$dok attributes(<obj>)$dok <- <Neuer Text>

Besonderheiten des Arbeitens mit DataFrames DataFrames sind Listen von (Spalten-)Vektoren gleicher Länge, welche jeweils Daten unterschiedlichen Typs beinhalten können: numeric, factors, ordered, character Komponenten sind die Spalten (= Variablen ), die statt über [,1],[,2] auch mit ihren Namen (sofern vorhanden) angesprochen werden können: <datafr>$<name>. Funktionen erlauben oft: <func> (, data=<datafr>) Zuweisung neuer Variablen zu DataFrames: <datafr>$<neuevariable> <- <neu> Mit attach(<datafr>) kann der DataFrame so eingebunden werden, dass seine Variablen direkt (d.h. ohne Erwähnung des DataFrames) angesprochen werden können: <variable> statt <datafr>$variable