Material zur Vorlesung Räumliche Statistik

Ähnliche Dokumente
Aufgaben zur Vorlesung Statistische Analyse von Systemen

TU Bergakademie Freiberg Datenanalyse/Statistik Wintersemester 2016/ Übungsblatt. Homepage zur Übung unter:

Kurze Einführung in R

Der Download von R erfolgt über die homepage

Syntax Variablen. mtrx <- matrix (c(1,2,3,4,5,6),ncol=2,nrow=3) Anzeigen des Types: class(var) Umwandeln mit: as.vector(mtrx)

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

Klaus Schliep. 16. Februar 2004

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

Einführung in die formale Demographie Übung

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

Vorlesung Statistik SS 2006

Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

Lineare Algebra mit dem Statistikprogramm R

Statistik für Informatiker, SS 2017 Organisatorisches, ein Startbeispiel und eine sehr knappe R-Einführung

Einheit 1. Einführung in R. IFAS JKU Linz c 2018 Programmieren mit Statistischer Software 1 0 / 11

Programmieren mit statistischer Software

Programmiervorkurs für die Numerik Teil 2/4

Funktionen in JavaScript

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

Linux-Einführung Übung

Matlab: eine kleine Einführung 4

Matlab: eine kleine Einführung 2

MATLAB-Tutorium WS18 Nathalie Marion Frieß

R-Fehlermeldungsleitfaden

Ein erstes "Hello world!" Programm

Matlab: eine kleine Einführung

Softwarepraktikum. zu Elemente der Mathematik. Carsten Rezny Institut für angewandte Mathematik Universität Bonn

Funktionen in JavaScript

3.4 Bivariate Datenanalyse in R

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

Download Aufruf Hilfe Objekte in R Datenimport Rechnen Grafik Verteilungen. R Grundlagen

R starten (Arbeitsverzeichnis wählen, Workspace abspeichern, History abspeichern)

Matlab: Grundlagen und Hilfen

Unterlagen zu: Das Datenanalysesystem SAS SS 2000

Softwarepraktikum. zu Elemente der Mathematik. Carsten Rezny Institut für angewandte Mathematik Universität Bonn

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

1 Berechnung von Summen (ca = 10 Punkte)

Arithmetik in der tcsh

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

Einführung in R. 17. April Emacs mit Erweiterung ESS (

R Einstieg. Manuel Eugster, Armin Monecke, Faban Scheipl. Institut für Statistik Ludwig-Maximilians-Universität München.

Erwin Grüner

Übersicht deskriptiver Maße & anderer. Nützliche Funktionen. Statistische Software (R) artihmetische Mittel median() mean()

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Übersicht Shell-Scripten

Statistische Software (R)

Übersicht Statistik-Funktionen. Statistische Software (R) Nützliche Funktionen. Nützliche Funktionen

Statistische Software (R)

Statistische Software (R)

Wichtige Befehle in R zur Datenanalyse Ergänzende Unterlagen zur Vorlesung Prof. Dr. Oliver Gansser

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Analysis mit dem CAS

Theorie-Teil: Aufgaben 1-3: 30 Punkte Programmier-Teil: Aufgaben 4-9: 60 Punkte

Erstellen von Makros / Textbausteine

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Scripting Linux-Kurs der Unix-AG

1 Univariate Statistiken

Übungsblatt 1. Java Vorkurs (WS 2017)

Einführung in die Angewandte Bioinformatik: Datenanalyse mit R

Bash-Skripting Linux-Kurs der Unix-AG

Algorithmen und ihre Programmierung

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Shell-Scripting Linux-Kurs der Unix-AG

Funktionen nur wenn dann

Dateneingabe und Transformation Übersicht

Kurze Bedienungsanleitung für den Java-Editor

Skriptum Bauinformatik SS 2013 (Vorlesung IV)

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Kapitel 1: Die ersten Schritte 1

Praktische Informatik 1

Demographie III Übung

Übungsaufgaben. zahlen bis auf das 3. und 7. Element enthält. (e) Erstellen Sie einen Vektor. zahlen3, der ein Klon von

Shell-Scripting Linux-Kurs der Unix-AG

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Übersicht deskriptiver Maße & anderer. Nützliche Funktionen. Statistische Software (R-Vertiefung) artihmetische Mittel median() mean()

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Einführung in NI LabVIEW

Mit R können Rechenoperationen durch direkte Eingabe durchgeführt werden. Beispiel >(3*(5+7)^4)/3 [1] 20736

Einführung in MATLAB

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

3.1 Allgemeines. Abbildung 3.1: Eröffnungsmenü einer Excel-Mappe

Übungszettel 2a - Python

Ereignisse Auf Benutzereingaben reagieren

Grundlagen im Umgang mit dem Rechner

Strings. Daten aus Dateien einlesen und in Dateien speichern.

1. Grundbegri e der Stochastik

Statistik PS R-Ergänzungen

Numerik-Programm, mittlerweile mit vielen Erweiterungen (Toolboxen) Matlab = Matrix Laboratory Sehr gute Doku (doc, help, lookfor)

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Modul G d) Gibt es einen Größen- bzw. Altersunterschied zwischen den anwesenden Männern und Frauen?

3 Kurzeinführung in Matlab

Transkript:

Dr. Felix Ballani SoSe 2018 Material zur Vorlesung Räumliche Statistik Einführung in R Während der folgenden Übungen sollen Sie ab und zu mit dem Statistik-Programm R arbeiten. Das Statistik-Programm R kann kostenlos von der R-Homepage www.r-project.org bezogen werden. Ebenfalls frei erhältlich sind verschiedene Arbeitsoberflächen und Editoren sowie Erweiterungen, welche das Arbeiten und die Programmierung mit R vereinfachen, z. B. die Entwicklungsumgebung RStudio, siehe www.rstudio.com. In den PC-Pools ist an allen Rechnern die R-Core-Version vorhanden und an den meisten das etwas komfortablere RStudio. Arbeiten Sie den gesamten Abschnitt durch und führen Sie die R-Befehle entweder in der Konsole oder aber einfacher im begleitenden R-Skript intro.r durch. Speichern Sie das begleitende R-Skript intro.r, starten Sie R und öffnen Sie dann (s. u.) die Datei intro.r. Allgemeines Die R-Core-Version öffnet sich mit einem Fenster namens R Console, welches auch (neben weiteren) nach dem Starten von RStudio vorhanden ist. In diesem Fenster werden alle Rechnungen durchgeführt, indem man hier einzelne Befehlszeilen eingibt und anschließend die Enter-Taste drückt. In der R-Core-Version kann man weiterhin im Menü über Datei > Neues Skript einen R- Editor öffnen, in diesem schreiben und das Geschriebene über Datei > Speichern unter... abspeichern. Ebenso kann man ein bereits vorhandenes sogenanntes R-Skript über Datei > Öffne Skript... öffnen. Eine Skriptdatei hat üblicherweise die Endung.r. In RStudio erhält man eine neue Skriptdatei über File > New File > R Script. In einem R-Skript kann man eine einzelne Befehlszeile ausführen, indem man den Cursor in dieser Zeile platziert und dann die Tastenkombination Strg+R (R-Core-Version) bzw. Strg+Enter (RStudio) drückt oder über das Menü Bearbeiten > Ausführung Zeile oder Auswahl (R-Core-Version) bzw. Code > Run Selected Line(s) (RStudio, hier gibt es zusätzlich einen Run -Button) ansteuert. Der Vorteil eines R-Skripts besteht u. a. darin, dass man aber auch mehrere Befehlszeilen zusammen ausführen kann. Dazu markiert man die betreffenden Zeilen mit Hilfe der linken Maustaste und drückt dann Strg+R bzw. Strg+Enter. Alle Zeichen, die in einer Zeile (einer Skriptdatei) hinter dem Zeichen # stehen, interpretiert R als Kommentar und ignoriert diese bei der Ausführung. Die Pfeiltaste nach oben bringt in der Konsole den letzen Befehl zurück. R unterscheidet kleine und große Buchstaben.

R besitzt eine umfangreiche Hilfe. Alle bereits in R vorhandenen ( built-in -) Funktionen sind hinsichtlich der möglichen Argumente und Rückgabewerte dokumentiert und mit Beispielen unterlegt. Das Gleiche gilt für Funktionen, die in Zusatzpaketen implementiert sind. Es gibt verschiedene Möglichkeiten, die Hilfe aufzurufen. Neben der formalen Beschreibung des/der entsprechenden Kommandos/Funktion gibt es hilfreiche Beispiele. help(sum)?sum # Hilfe für die "built-in"-funktion sum # das Gleiche wie help(sum) Grundlegendes R als Taschenrechner 1+1 # Addieren 2*3 # Multiplizieren 3/2 # Dividieren 3^2 # Potenzieren (1+2)*3 # Klammern setzen 1.3*2 # Der Punkt fungiert als Dezimalzeichen. pi # Die Konstante 3.141592... pi/4 # Rechnen mit der Konstanten 1/0 # Inf = Infinity (unendlich) 0/0 # NaN = Not a Number: Platzhalter bzw. Fehlermeldung pi[2] # NA = Not Available: Platzhalter bzw. Fehlermeldung Variablen erstellen a <- 2*3 # eine Variable a anlegen, gleichzeitig einen Wert zuweisen a # den Wert der Variablen a anzeigen lassen a^2 # mit der Variable rechnen... b <- a^2 #... und das Ergebnis einer weiteren Variablen zuweisen Baum <- "Eiche" # Wert einer Variablen kann auch eine Zeichenkette... Baum w.wert <- TRUE #... oder ein Wahrheitswert (oder noch komplexer) sein w.wert Als Namen von Variablen können nahezu beliebige Zeichenketten verwendet werden. Einige Zeichenketten sind allerdings in R bereits belegte Konstanten (wie pi) oder Funktionen (wie sum), die man möglichst nicht neu belegt. Im Zweifelsfall kann man dies testen: exists( for ) exists( mein_name ) Funktionen verwenden log(2.7182818) # der natürliche Logarithmus log(16,2) # der Logarithmus von 16 zur Basis 2 objects() # alle vorhandenen Variablen und Objekte anzeigen

Funktionen werden in R durch ihren Namen aufgerufen, gefolgt von ihren Argumenten, die in runden Klammern durch Komma(ta) getrennt hinter dem Namen angegeben werden. Beim Aufruf der Funktion objects wird hier keine Spezifizierung von Argumenten benötigt, daher bleibt die Klammer leer. Wenn es mehrere Parameter gibt, bestimmt normalerweise die Reihenfolge, welche Zahl für welches Argument steht. log(16,2) und log(2,16) unterscheiden sich also. Man kann aber Parameter dann in beliebiger Reihenfolge angeben, wenn man die Namen der Argumente mit angibt. Im Beispiel wäre also log(base=2,x=16) das Gleiche wie log(16,2) bzw. log(x=16,base=2). In R ist das Verwenden von Funktionen ganz wesentlich. Daher ist es oftmals nötig, eigene Funktionen zu definieren. Dies geschieht immer nach dem Schema Funktionsname <- function(arg1name,arg2name,...,argnname) {... wobei innerhalb der geschweiften Klammern angegeben wird, was mit den Argumenten Arg1Name, Arg2Name usw. gemacht werden soll, z. B. BspFunktion <- function(a,b) { # zwei Argumente w <- 5*a+b return(w) # Rückgabewert Das Ergebnis der Funktion wird mit return zurückgegeben. BspFunktion(1,0) BspFunktion(2,2) Es ist auch oft üblich, bei der Definition der Funktion einigen Argumenten sinnvolle Standardwerte zuzuweisen. BspFunktion <- function(a=0,b=0) { w <- 5*a+b return(w) BspFunktion() BspFunktion(1) # erstes Argument wird auf 1 gesetzt Schleifen for(i in 1:10) print(i^2) for( name in c("i", "want", "to", "go", "home!") ) { cat(name,"\n") while(rnorm(1) < 1) print("hallo") Bedingungen if(rnorm(1) > 0) { print("rnorm erzeugte einen positiven Wert.") else { print("rnorm erzeugte einen negativen Wert.")

Vektoren, Matrizen, Listen Erzeugung von Vektoren x <- c(1, 2, 3, 4, 5) # c kommt von concatenate. x y <- exp(x)-2 # exp wird auf jedes Element von x angewendet. y y[2] # zweites Element von y y[2] <- 1 # Ändern des zweiten Elements von y Möglichkeiten, verschiedene Arten von Vektoren zu erzeugen rep(1,5) # Wiederholung 1:5 # das Gleiche wie c(1, 2, 3, 4, 5) seq(1,20,by=4) # Folge mit Abstand by=4 seq(1,20,length=5) # Folge mit length=5 Elementen in gleichen Abständen verschiedene Wege, um auf Elemente von Vektoren zuzugreifen x <- 1:30/10 length(x) # Anzahl der Elemente von x x[1:10] # die ersten zehn Elemente von x x[c(1,10,15)] # die Elemente an Position 1, 10,15 x[c(10,1,15)] # die gleichen Element in anderer Reihenfolge x[ x > 2.5 ] # alle Elemente von x, die > 2.5 sind x > 2.5 # Vektor von Wahrheitswerten x[-(1:10)]; # alle Elemente außer den Elementen 1 bis 10 Matrizen x <- c(1,2,3,4) matrix(x,nrow=2,ncol=2) # Elemente spaltenweise angeordnet matrix(x,2,2,byrow = T) # Elemente zeilenweise angeordnet A <- matrix(1:15,3) B <- matrix(1:3,3,5) B Matrixoperationen A + B A * B A %*% t(b) # elementweise Summe # elementweise Multiplikation # Matrixprodukt, t(b) ist transponierte Matrix B Zugriff auf Matrizen und Dimension dim(b) # Dimension (Anzahl der Zeilen bzw. Spalten) NROW(B) # Zeilenanzahl NCOL(B) # Spaltenanzahl A[,1] # erste Spalte A[1,] # erste Zeile A[3,1] # erstes Element der dritten Zeile

Zusammenfassen von Vektoren zu Matrizen cbind(c(1,2), c(3,4)) rbind(c(1,2), c(3,4)) # spaltenweise # zeilenweise Listen; sind nützlich, um Informationen verschiedenen Typs zusammenzufassen. course.info <- list(students = c("sandra", "Karl", "Thomas", "Nadine"), nr.of.exercises = 15, rooms = c("seminarraum","pc-pool")) course.info$rooms course.info[[3]] course.info$students[2] Zufallszahlen und einfache Statistiken Generierung von (Pseudo-)Zufallszahlen und Verwendung von Quantil-, Verteilungs- und Wahrscheinlichkeitsdichtefunktionen rnorm(10) qnorm(0.975) pnorm(0) dnorm(0) # Generiert 10 Zufallszahlen zur N(0,1)-Verteilung # 97.5 %-Quantil der Standardnormalverteilung # Verteilungsfunktion # Wahrscheinlichkeitsdichtefunktion In ähnlicher Weise erhält man z. B. mit runif Zufallszahlen zur stetigen Gleichverteilung, mit rexp Zufallszahlen zur Exponentialverteilung und mit rbinom Zufallszahlen zur Binomialverteilung. einfache Statistiken x <- rnorm(20) y <- rnorm(20,mean=2,sd=2) # 20 Zufallszahlen zur N(2,4)-Verteilung mean(x) # empirischer Mittelwert mean(y) sd(x) # empirische Standardabweichung sd(y) var(x) # empirische Varianz var(y) z <- 2*(0.5*x + sqrt(0.75)*rnorm(20)) cov(x,z) # empirische Kovarianz von x und z cor(x,z) # empirischer Korrelationskoeffizient Einfache Grafiken hist(rnorm(100)) # Histogramm plot(x,z) # Streudiagramm xx <- seq(-3,3,by=0.1) plot(xx,dnorm(xx),type="l",main="dichtefkt. der N(0,1)-Vert.",xlab="x",ylab="f(x)") Über?par können Sie herausfinden, mit welchen weiteren optionalen Argumenten man die Grafikausgabe beeinflussen kann.

Dateiverwaltung getwd() zeigt und setwd("meinpfad") setzt das Arbeitsverzeichnis von R. Sofern nicht mit weiteren Pfadangaben versehen, werden in diesem Verzeichnis alle Dateien gespeichert, für die man einen solchen Befehl ausführt. getwd() # aktuelles Arbeitsverzeichnis A <- matrix(rnorm(20),4,5) write.table(a,file="amatrix.txt",row.names=false,col.names=false) # Speichern AA <- read.table("amatrix.txt") # Einlesen class(aa) # Typ data.frame AA <- as.matrix(aa) # Umwandeln in den Typ matrix class(aa) Nicht alle Daten sind in Form einer Matrix vorhanden. Sie lassen sich mit save abspeichern und mit load wieder einlesen. save(course.info,file="ci.rdata") remove(course.info) course.info load(file="ci.rdata") course.info # Abspeichern im.rdata-format # Löschen des Objekts course.info # Einlesen Der Befehl save.image() speichert alle Objekte in der Datei.RData im aktuellen Arbeitsverzeichnis. Somit kann man auf bereits erzeugte Objekte auch nach einer Sitzungsunterbrechung wieder zugreifen. In der Regel wird man beim Schließen der R-Core-Version oder von RStudio gefragt, ob man die aktuelle Sitzung in dieser Weise speichern möchte.