ein Portrait von mir

Dipl.Math. Dr. Haiko Lüpsen
Statistik & Kurse

Kursunterlagen zum Kurs: R und S
Grundlagen, elementare Handhabung

Aufruf
Arbeitsverzeichnisse
Hilfe
Objekte und Bibliotheken
Objekt-Eigenschaften
Daten-Eingabe/Import
Daten-Ausgabe/Export
Sichern/Zurücklaen von Objekten
Editieren von Objekten
Diverses


Aufruf

Splus/Unix:

derzeit auf dem Rechner dialog.rrz.uni-koeln.de
Splus
Splus -g
(mit grafischer Oberfläche, erfordert X-Emulation)

Splus/Windows:

Öffnen eines Kommandofensters:
Windows -> Commands Windows

R/Unix:

derzeit auf dem Rechner cheops.rrz.uni-koeln.de
module load R/3.3.3_intel_mkl
R

Beenden:

q()

Arbeitsverzeichnisse

(in Splus ein ganzes Verzeichnis, in R nur die Datei .RData)
Die Verzeichnisse müssen vorher erstellt worden sein.

Splus/Unix:

Standardaufruf
mkdir Verzeichnis
cd Verzeichnis
Splus CHAPTER

Die Daten liegen im Unterverzeichnis .Data, pro Objekt eine Datei

In nachfolgenden Sitzungen dann:
cd Verzeichnis
Splus

Splus/Windows:

Wahl des Arbeitsverzeichnisses über
File -> Chapters

R/Unix:

Datei .RData im aktuellen Verzeichnis

R/Windows:

standardmäßig: Datei .RData in Eigene Dateien des angemeldeten Benutzerkennzeichens.

Ändern über
Datei -> Verzeichnis wechseln
(File -> Change dir)

In nachfolgenden Sitzungen dann:
File/Datei -> Load Workspace

Als Dateiname kann auch xyz.RData gewählt werden, so dass in einem Verzeichnis mehrere R-workspaces abgelegt werden können.

R - allgemein:

Anzeige des aktuellen Arbeitsverzeichnisses:
getwd ()

Ändern des Arbeitsverzeichnisses:
setwd ("Pfad")

Hilfe

?Kommandoname
help(Kommandoname)
args(Kommandoname) (Kurzausgabe: Parameter, allerdings zum Teil unvollständig)

Bei grafischen Benutzeroberflächen gegebenenfalls vorher
help.start() für Ausgabe im HTML-Format

Auflisten der Funktionen zu einem Begriff (nur in R):
help.search("Begriff")

Hilfeseite einer Funktion in nicht-Standard-Library (nur in R):
help.search(Kommandoname, "Library-Name")

Auflisten aller Funktionen (im Suchpfad), deren Namen "Text" enthält:
apropos("Text")

Objekte und Bibliotheken

Auflisten der in der Sitzung verfügbaren Arbeitsverzeichnisse und Bibliotheken:
search()
wobei die "Rangnummern" i mitaufgelistet werden.

Auflisten der Objekte des derzeitiegn (Haupt)Arbeitsverzeichnisses:
objects()
ls()

Auflisten der Objekte des i-ten Arbeitsverzeichnisses:
objects(i)
ls(pos=i)
(in R auch: ls(i)

Auflisten der Objekte des i-ten Arbeitsverzeichnisses, die im Namen die Zeichenkette "Muster" enthalten:
objects(i, pattern="Muster")

Löschen von Objekten:
rm(Liste von Objektnamen) ausgewählte Objekte
rm(list=ls())
alle Objekte

Bereitstellen der Variablennamen eines DataFrames als Objekte
attach(Dataframe)

Aufheben eines attach oder library
detach(Name)
detach(package:Name)
detach(pos=n)

Auflisten der installierten Bibliotheken:
library()

Aufruf einer installierten Bibliothek:
library(Name)
library(Name,pos=n)

Auflisten bz. Laden von verfügbaren Datensätzen:
data() Auflisten der Datensätze insgesamt
data(i) Auflisten der Datensätze in der Bibliothek mit der Position i
data(name) Laden eines bestimmten Datensatzes name

Objekt-Eigenschaften

Strukturtyp eines Objekts:
class(Objektname)

Datentyp eines Objekts:
mode(Objektname)

Komponenten eines Objekts:
attributes(Objektname)

Übersicht der Struktur eines Objekts:
str(Objektname)

Länge eines Objekts:
length(Objektname) # Variablen (DataFrames), # Elemente (Matrizen), Vektorlänge (Vektoren), # Objekte (Liste)
dim(Objektname) #Zeilen/#Spalten (Matrizen/DataFrames/Arrays)

Daten-Eingabe/Import

Eingabe (eines Vektors mit Elementen gleichen Typs) von der Tastatur:
scan()
scan(what="Datentyp") Datentyp bei nicht-numerischer Eingabe
(anschließend Eingabe der Werte, Abschluss über <Return>-Taste)

Eingabe (eines Vektors mit Elementen gleichen Typs) von einer Datei:
scan("Pfad")

Eingabe einer Matrix ( mit Elementen gleichen Typs):
matrix(scan("Dateiname"),ncol=...)

Eingabe mehrerer Variablen (einer Datenmatrix) von der Tastatur:
data.entry("Var1", "Var2",...)
Die daraus resultierenden Vektoren Var1, Var2,... müssen gegebenenfalls anschließend in einen Dataframe gewandelt werden.

Eingabe eines Data-Frames von einer Datei (freiformatiert mit Trennzeichen):
read.table("Pfad" oder "URL", header=T/F) (von einer lokalen Datei oder aus dem WWW)

Eingabe eines Data-Frames von einer Datei, festformatiert ohne Trennzeichen:
read.fwf("Pfad" oder "URL", c(Spaltenbreiten),...) (nur R)
(übrige Parameter wie bei read.table,
Vorsicht: Variablennamen müssen durch Sonderzeichen und Parameter sep="..." getrennt werden. )

Eingabe einer Excel- oder freiformatierten Datei im csv-Format:
read.csv("Pfad" oder "URL",sep="...",header=TRUE,...) mit ";" als Trennzeichen (nur R)
read.csv2("Pfad" oder "URL",sep="...",header=TRUE,...) mit "," als Trennzeichen (nur R)
(mit sep= wird das Trennzeichen ";" bzw. "," angegeben.)

Eingabe einer Excel-Datei über ODBC mittels Paket "RODBC":
channel <- odbcConnectExcel("Excel-Datei")
mydata <- sqlFetch(channel, "Worksheet")
odbcClose(channel)

Eingabe einer Datei in einem Fremdformat (z.B. SPSS), wobei über die Dateinamenserweiterung (z.B. .por) der Dateityp erkannt wird:
importData("Pfad") (nur S-Plus)
read.spss("Pfad", to.data.frame=T) aus dem Paket "foreign" (nur R)
read.dta("Pfad") (Stata-Dateien) aus dem Paket "foreign" (nur R)
read.systat("Pfad") aus dem Paket "foreign" (nur R)
sasxport.get("Pfad") (nur im Transport-Format) aus dem Paket "Hmisc" (nur R)

Übertragen eines Datensatzes aus einem "Package" in den Arbeitsbereich
data (Name, package="Name")

Übertragen eines Datensatzes aus dem Internet (zunächst) auf den lokalen Rechner
(anschließend Eingabe mittels einer der o.a. Kommandos erforderlich)
download.file("http://...", "Zielpfad") (Zielpfad kann "/", aber nicht "\" enthalten)
url.show("http://...") vorheriges Ansehen der Datei (keine Speicherung möglich)

Einlesen von Objekten aus dem WWW, die mit save auf eine Datei geschrieben wurden (die dann in den Arbeitsbereich übertragen werden):
load(url("Pfad")) (nur R)

Daten-Ausgabe/Export

Ausgabe eines Data-Frames auf eine Datei im ASCII-Format:
write.table(DataFrame, "Pfad")

Ausgabe eines Daten-Objekts (z.B. Data-Frames) auf eine Datei (diverse Format möglich):
File -> Export Data -> to File (nur S-Plus)

Export eines DataFrames in ein dbf-Format (u.a. Excel, Access, dbase, OpenOffice)
write.dbf(DataFrame, "Pfad") aus dem Paket "foreign" (nur R)
write.xls(DataFrame, "Pfad") aus dem Paket "xlsReadWrite" (nur R)
write.dta(DataFrame, "Pfad") (für Stata-Dateien) aus dem Paket "foreign" (nur R)

Export eines DataFrames in eine freiformatierte, komma-getrennte ASCII-Datei, u.a. für die Weiterverarbeitung durch SPSS, SAS oder Stata
write.foreign(DataFrame, "Pfad1", "Pfad2", package="Name") aus der Bibliothek foreign (nur R)
wobei Name einer der Programmnamen SPSS, SAS oder Stata ist und Pfad1 die Daten enthält bzw. Pfad2 die Anweisungen zur Eingabe für das gewählte Programm ist.

Sichern/Zurückladen von Objekten

Ausgabe aller oder ausgewählter Objekte auf eine Datei in einem internen Format:
data.dump(objects(), "Pfad") (nur S-Plus)
data.dump(c("Objekt1", "Objekt2",...), "Pfad") (nur S-Plus)
save.image("Pfad") (nur R)
save(Objekt1, Objekt2,..., file="Pfad") (nur R)
save(list=ls(pattern="Muster"), file="Pfad") (nur R)

Zurückladen/Einlesen von Objekten, die mit data.dump bzw. save oder save.image auf eine Datei geschrieben wurden (die dann in den Arbeitsbereich übertragen werden):
data.restore("Pfad") (nur S-Plus)
load("Pfad") (nur R)
mget(load("Pfad"))[[i]]->... Zurückladen des i-ten Objekts (nur R)

Aufruf eines zusätzlichen Arbeitsverzeichnisses oder Bibliothek:
attach("Pfad")
attach("Pfad", pos=n) an n-ter Stelle in der Sichtreihenfolge

Editieren von Objekten

Wahl des Editors (vorzugsweise unter Unix):
options(editor="Name") bzw. options(editor="Pfad")

Editieren von numerischen Vektoren und Matrizen (keine Dataframes):
(Dataframes müssen anschließend mit data.frame zurückgewandelt werden, damit es nicht zu Problemen kommt):
fix(...)
data.entry(...)

Editieren von Dataframes:
fix(...) mit automatischer Speicherung (nur R, in SPlus unübersichtlich)
Menü Data -> Select Data (nur S-Plus/Windows)

Editieren von Matrizen und Dataframes, auch mit character-Variablen:

neu <- edit(alt)

Erstellen einer neuen Datenmatrix
neu <- edit(data.frame()) Erstellen einer neuen Datenmatrix

Diverses

letztes Objekt:
.Last.value
(z.B. nützlich bei vergessener Wert-Zuweisung)

History: Anzeige der letzten Kommandos:
history()
history(pattern="...", max=Anzahl)

Suchen der Arbeitsbereiche und Bibliotheken, in denen ein bestimmtes Objekt enthalten ist:
find(Objektname)

Einlesen von Kommandos von einer Datei
source("Pfad")

Umlenken der Ausgabe auf eine Datei
sink("Pfad")

Objektnamen mit besonderen Funktionen
.First Anweisungen, die beim Start von R auszuführen sind
.Last Anweisungen, die beim Beenden von R auszuführen sind


Haiko Lüpsen
Letzte Änderung: 14.4.2022