# --------- Basic Vocabulary ------- # ---------------------------------- # 1.1 Session # Kommandozeile wartet auf Input, entspricht expression. # Symbol für Eingabeaufforderung ist '>'. # Shortcut zum Ausführen eines Befehls in R-Studio: Strg+Enter 1+1 # R evaluiert die Expression und zeigt den Output sofort 1 + # Falls expression nicht vollständig, wartet R auf mehr Input # und zeigt dies mit '+' an. 2 # Output: Vektor (angezeigt mit [1]) # Änderung der globalen Einstellung mit ?options # oder in R-Studio über Tools -> Global Options # Objekte: Speichern eines Objekts unter einem Namen. # Groß- und Kleinschreibung wird unterschieden. # Namen dürfen nicht mit einer Zahl beginnen. # Alles in R ist ein Objekt a <- 1+1 a b<-"Hello World" b # Anzeigen aller gespeicherten Objekte ls() objects() # Entfernen eines Objekts rm(a) a ls() # Entfernen aller Objekte rm(list=ls()) # Alternative zu R schließen und neu starten # Workspace: "Environment einer R Sitzung" #Working Directory setwd("Laufwerk:/Pfad") setwd("S:/ProgStat") setwd("S:\\ProgStat") # setwd("S:\ProgStat") funktioniert nicht # Anzeigen des aktuellen Arbeitsverzeichnisses getwd() # Speichern und Laden des gesamten Workspace save.image() load(".RData") # Speichern einzelner Objekte save() # Speichern und Laden im Arbeitsverzeichnis oder Unterordnern x <- 1:10 save(x, file="./Ergebnisse/jargon.RData") load("./Ergebnisse/jargon.RData") # Speichern und Laden in übergeordnetem Ordner (in Bezug auf das Arbeitsverzeichnis) setwd("./Ergebnisse") save(x, file="../jargon.RData") load("../jargon.RData") #------------------------------- # 1.2 Help # entweder # help() oder ? help(ls) ?ls # Hilfe für Keywords (z.B.: if, while) # Keywords müssen in Anführungszeichen gesetzt werden ?"if" # ?if funktioniert nicht ?"while" # Beispiele auf der Hilfeseite ausführen example("ls") # Suche nach bestimmten Schlagworten, # falls die explizite Funktion nicht bekannt help.search("linear models") help.search("nonparametric") ??"subset" # Weiterhin hilfreiches Paket: 'sos' (siehe Übung) #---------------------------------- # 1.3 Language # Alles in R sind Objekte (Groß- und Kleinschreibung relevant) x <-1 x X <-"a" X # 1 und 'a' sind die Werte der Objekte # Funktion besteht aus Funktionsname und Argumenten f(argument,...). # Jede Funktion hat einen Rückgabewert identity(1:10) # Ausgabe des Quellcodes ohne Klammern identity table # Mathematische Operatoren 1 + 1 -1 2*4 12/4 '+'(1,1) # Übersicht über Operatoren ?Syntax # Vektoren x <- 4.2 is.vector(x) length(x) # Ermöglichen vektorisierte Berechnungen x <- c(4.2, 13, 5) cos(x) sin(x) x+1 # Initalisierung von Matrizen matrix(c(1,0,0,1), nrow=2, ncol=2) # analog diag(2) # Mathematische Operationen mit Matrizen diag(2) + diag(2) # Elementweise multiplizieren 2*diag(2)*diag(2) # Matrizenprodukt (diag(2)*2) %*% (diag(2)*4) # Kommentare 1+1 # 2+2 # In R-Studio können über Code -> Comment/Uncomment Lines # ganze Abschnitte auskommentiert werden # --------------------------------- # 1.4 Packages # Alle Funktionen und Datensätze sind in Paketen gespeichert. # Nur wenn das Paket geladen ist, sind die Funktionen verfügbar. # Welche Pakete sind installiert? library() # Welche Pakete sind geladen? search() # Laden zusätzlicher Pakete library("tools") require("sos") # Geladene Pakete entfernen detach("package:tools") # Pakete installieren install.packages("archetypes") # Update aller bereits installierten Pakete # update.packages() # Herunterladen von Pakete ohne Installation # download.packages() # Welches Repository wird verwendet? # (Plattform auf der Pakete zur Verfügung gestellt werden, z.B. CRAN, Bioconductor) getOption("repos") # Aktueller Pfad, wohin die Pakete installiert werden. # Falls mehrere Pfade vorhanden sind, wird der erste verwendet. .libPaths() # Überblick über Inhalte der Pakete library(help = "graphics") library(help = "archetypes") # Übersicht und Laden von Daten eines Pakets data(package = "archetypes") data("body", package = "archetypes") body # Übersicht und Ausführen von Demos eines Pakets demo(package = "archetypes") demo("robust-ozone", package = "archetypes") # Quellcode der Demo edit(file = system.file("demo", "robust-ozone.R", package = "archetypes")) # Übersicht und Laden von Vignetten eines Pakets vignette(package = "archetypes") vignette("archetypes", package = "archetypes") edit(vignette("archetypes", package = "archetypes")) # funktioniert in R, aber nicht in RStudio edit(vignette("archetypes", package = "archetypes"), editor="internal") # so funktioniert es in RStudio #----------------------------------------- # 1.5 Scripts # Folgende Befehle müssen in der Programm-Datei 'basic-1.R' gespeichert werden ... a <- 2:8 b <- pi c <- a * b save(c, file = "res.RData") load("res.RData") # ... und können dann aus einer anderen Programm-Datei heraus ausgeführt werden. # source("basic-1.R")