Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Umgang mit R unter Windows Stand:2016-04-06. R: Software R für Windows (XP etc.) Version 3.2.4 (3/2016)R Linksammlung zu R:

Ähnliche Präsentationen


Präsentation zum Thema: "Umgang mit R unter Windows Stand:2016-04-06. R: Software R für Windows (XP etc.) Version 3.2.4 (3/2016)R Linksammlung zu R:"—  Präsentation transkript:

1 Umgang mit R unter Windows Stand:2016-04-06

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

3 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

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

5 Auf Dateien im WorkingDirectory zugreifen Inhalt des WorkingDirectory anzeigen: dir() Ascii-Text-Dateien ansehen: file.show(“ “) Systemfunktionen nutzen: z.B. PDF‘s, JPEG‘s ansehen: system(“open “) Funktioniert auch mit Dateien im Internet system(“open / / “)

6 Workspace (Arbeitsbereich) Objekte im Workspace von R auflisten: objects(); auch: ls() Objekte selektiv auflisten: ls(pat=“ “) 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(“ “) [NB!: “ “ ist i.d.R. binäre Datei]

7 Workspace (Arbeitsbereich) Einzelne Objekte aus Workspace entfernen: rm(,,..., ) Alle Objekte entfernen: rm(list=objects()); rm(list=ls()) Objekte selektiv entfernen: rm(list=ls(pat=“ “)) Workspace (als binäre Datei) sichern (speichern) mit Windows GUI oder: save.image(“ “) Als Ascii-Datei speichern: save.image(“ “,ascii=TRUE)

8 Befehls-History History ausgeben: history(); history(max.show=n); history(reverse=TRUE) History laden bzw. speichern mit Windows GUI “ “ ist ASCII-Text-Datei

9 Ergebnisse sichern und ausgeben Ausgabe in ASCII-Text-Datei umleiten: sink(“ “) Erweitert: sink(“ “, 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(), “ “)

10 Pakete Auf dem Rechner vorhandene Pakete anzeigen: library() Geladene (d.h. im Suchpfad befindliche) Pakete anzeigen: search() Paket laden: library( ); auch: require ( ) Paket aus dem Suchpfad entfernen: detach(package: ) Weitere Befehle zum Verwalten (Installieren etc.) von Paketen finden mit: apropos(“packages“)

11 Hilfe Allgemeine Hilfe: help.start() Hilfe zu einem Paket: help(package=“ “); help( ); ? Hilfe zu Funktionen etc. help( ); ? ; help.search(“ “); ?? Infos zum Umfeld der Funktionen: apropos(“ “) Beispiele für Funktionen: example( )

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

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

14 Matrix aus Datentabelle erzeugen und umgekehrt Erzeugen einer Matrix aus einem „data.frame“: ) Prüfen: is.matrix( ) Erzeugen einer Datentabelle aus Matrix: ) Prüfen: is.data.frame( )

15 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) 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. Einzelne Komponenten einer Liste werden mit [[]] angesprochen oder, sofern vorhanden, mit dem Namen der Komponente (unter Verwendung des $- Zeichens). DATAFRAMES sind fuer R Listen und zwar Listen aus Vektoren gleicher Laenge. In der Ausgabe werden die Vektoren als Spalten ausgegeben, die den Variablen einer Datenmatrix (im landlaeufigen Sinne) entsprechen. Die Tatsache, dass DataFrames Listen sind, erlaubt es, in einem DataFrame verschiedene Datentypen ("numeric","character","logical","factor","or dered") zu mischen. Allerdings muessen alle Eingaenge eines Vektors (Spalte,Variable) vom gleichen Typ sein. Die Komponenten (Spalten,Variablen) eines DataFrames, der ja eine Liste ist, werden mit [[]] angesprochen oder mit dem Namen der Variablen (default: V1,V2,...). Andererseits werden DataFrames teilweise auch wie Matrizen behandelt, so dass die i-te Spalte (Variable) auch mit [,i] angesprochen werden kann. Die Befehle dim(), rownames(),colnames() liefern gleiche Ergebnisse fuer Datentabellen in der Form von Matrizen oder von DataFrames. Abfrage der Art von Datenstrukturen: is.vector(), is.matrix(), is.array(), is.list(), is.data.frame() Konvertierung von DataFrames in Matrizen und umgekehrt: as.matrix(), as.data,frame() Abfrage von Eigenschaften von Datenstruktuen: class(), attributes(), mode(), length() ggf. typeof() Befehle zur Erzeugung von Datenstrukturen: vector(), matrix(), array(), list(), data.frame() DataFrames koennen mit attach() so eingebunden werden, dass man auf einzelne Spalten/Variable direkt ueber ihren Namen zugreifen kann (ohne an den kompletten Namen des DataFrames mit Hilfe des $-Zeichen den Namen der Variablen anhaengen zu muessen). Wenn das nicht mehr erforderlich ist, ist der DataFrame mit detach() wieder aus dem Suchpfad zu entfernen. A

16 Datentypen und Datenstrukturen (2) Abfrage z.B. mit is.numeric(), is.integer(), is.double is.character(), is.logical() 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().

17 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()

18 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'.

19 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).

20 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.

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

22 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.

23 Daten im ASCII-Text-Format exportieren Datentabelle bzw. Datenmatrix exportieren: write.table(,“ “) Daten als Matrix mit “,“ als Dezimalzeichen exportieren: require(MASS) options(OutDec=“,“) write.matrix(,“ “) options(OutDec=“.“)

24 Zeichenketten einlesen und exportieren Zeichenketten einlesen: dget(“ “) Zeichenkettenobjekt in Datei schreiben dput(,“ “) N.B. Bei dget() und dput() gehen Kommentare (mit “#“) verloren.

25 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

26 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

27 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“)

28 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

29 Import von Excel-Datenblättern (3) Beispiele: A) Excel-Datenblatt (im CSV-Format!) importieren : read.csv2(“ “) read.csv2(“ “, 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“)

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

31 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(“ “) read.xls(“ “,sheet = 1)

32 Export von Tabellen als Excel-Datei im CSV- Format write.csv2(,“ “)

33 Aus dem Netz importieren (1) Datentabellen im ASCII-Text-Format aus Netz importieren: read.table (con / / “)) read.table(“http:// / / “) CSV-Dateien aus Netz importieren: read.csv2(con / / )“,row.names=“X“)) read.csv2 (“http:// / / )“,row.names=“X“) read.csv2 (“http:// / / )“,row.names=1)

34 Aus dem Netz importieren (2) Skriptdatei (im ASCII-Text-Format) importieren: source(con / / “)) source(“http:// / / “) Binäre.RDatei importieren: load(con / / “))

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

36 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

37 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( )) im Vergleich zu: as.numeric( ) Weitere Objektklassen z.B. dist, hclust etc.

38 Attribute von Matrizen attributes( )mode: list attributes( )$dimmode: numeric –dim( )mode: numeric attributes( )$dimnamesmode:list –dimnames( )mode: list –colnames( )mode: character –rownames( )mode: character –row.names( )mode: character

39 Attribute von DataFrames attributes( )mode: list attributes( )$namesmode: character attributes( )$row.namesmode: numeric (!) dim( )mode: numeric names( )mode: character colnames( )mode: character row.names( )mode: character rownames( )mode: character

40 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 colnames() Matrizen, Arrays, DataFrames dimnames()[[2]]

41 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]

42 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(, “dok“) “ attributes( ) attributes( )$dok attributes( )$dok “

43 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: $. Funktionen erlauben oft: “ (, data= )“ Zuweisung neuer Variablen zu DataFrames: $ Mit “attach( )“ kann der DataFrame so eingebunden werden, dass seine Variablen direkt (d.h. ohne Erwähnung des DataFrames) angesprochen werden können: “ “ statt “ $variable“


Herunterladen ppt "Umgang mit R unter Windows Stand:2016-04-06. R: Software R für Windows (XP etc.) Version 3.2.4 (3/2016)R Linksammlung zu R:"

Ähnliche Präsentationen


Google-Anzeigen