Demographie III Übung

Ähnliche Dokumente
Einführung in die formale Demographie Übung

Einführung in die formale Demographie Übung

Einführung in die formale Demographie Übung

Demographie III Übung

Einführung in die formale Demographie Übung

Einführung in die formale Demographie Übung

Einführung in die formale Demographie Übung

Einführung in die formale Demographie Übung

Der Download von R erfolgt über die homepage

Demographie III Übung

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

Klaus Schliep. 16. Februar 2004

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

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

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

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

Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

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

Einführung in die Ökonometrie

Installationsanleitung für den Navigator 2018 der Landeszahnärztekammer Baden-Württemberg

Linux und Shell-Programmierung Teil 6

MATLAB Sommersemester 2018 Dr. Ulf Mäder

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

Verwandeln Sie Ihren Windows PC in einen professionellen Videoüberwachungsserver, einen NVR.

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

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

Ein kleiner Matlab Primer Frank Schimmel

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

Statistische Datenanalyse mit R. Dr. Andrea Denecke Leibniz Universität IT-Services

Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

Mathematische Computer-Software

W-Rechnung und Statistik für Ingenieure Übung

Einführung in MATLAB

(* = HB3 Stoff, die Kennzeichnung der für HB3 wichtigen Teile mit einem Stern (*) ist eine wertvolle Hilfe beim praktischen Studium).

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

PriMus: Hinweise zur Installation und Update

Material zur Vorlesung Räumliche Statistik

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

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Übungszettel 2a - Python

Einführung in die Angewandte Bioinformatik: Datenanalyse mit R

Aufgaben zur Vorlesung Statistische Analyse von Systemen

Lineare Algebra mit dem Statistikprogramm R

Statistische Software (R)

Informatik BMS. Excel. Trainingsunterlagen EXCEL XP BASIC

R Befehle SS min(x) Bestimmt das Minimum von x Bestimmt die Anzahl der sum(x<=4) Werte von x, die kleiner oder max(x) Bestimmt das Maximum von x

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

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)

Lektion 3. 1 Theorie. NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Installationsanleitung

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

Kurze Einführung in Octave

Darüber hinaus bietet SQuirreL eine Vielzahl von Plug-ins, mit denen der Funktionsumfang des Programms erheblich erweitert werden kann.

Inhaltsverzeichnis... 1 Bestandteile einer Formel... 1 Die Funktion Summenprodukt... 4

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung.

Programmiervorkurs für die Numerik Teil 2/4

R Installationsanleitung Mac

3Cloud. Anleitung für den MacOS Client.

Grundlagen der Bioinformatik Übung 5 Einführung in R. Ulf Leser, Yvonne Mayer

Mit Word Rechenaufgaben durchfu hren

Einführung in die Ökonometrie - Übung

Statistisches Programmieren

Projekt 3 Variablen und Operatoren

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und

Systemvoraussetzungen & Installation. K3Plus

1. Installation und deutsche Sprach-Einstellung

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

Einführung in MATLAB

Univariate explorative Datenanalyse in R

Citrix Zugang Inhaltsverzeichnis

Skript Lineare Algebra

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Schleifenanweisungen

Bedienungsanleitung PC-Software für CTS-7 C (V )

Xpert - Europäischer ComputerPass. Peter Wies. Tabellenkalkulation (mit Excel 2010) 1. Ausgabe, 5. Aktualisierung, Juli 2013

PriMus: Hinweise zur Installation und Update

Ökonometrie für Wirtschaftswissenschaftler

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

Düngeplanungsprogramm für Mecklenburg-Vorpommern

Datenmanagement in R: Eine Einführung

Einführung in SPSS. Sitzung 2: Datenbereinigung und Datenmanagement. Knut Wenzig. 4. Dezember 2006

R-Programm installieren

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

Wenn Du Deinen Rechner zum ersten Mal einschaltest, verlangt er von Dir einige Angaben. Wähle als Sprache Deutsch.

Basis-Kurs Statistik und SPSS für Mediziner Lösungen. SPSS-Übung Dateneingabe und -aufbereitung

Bedienungsanleitung PC-Software für CTS-32 C

Übung zur Vorlesung Multimedia im Netz

10:Exkurs MATLAB / Octave

KeyPass Passwortverwaltung

WiMa-Praktikum 1. Woche 8

Die R-Homepage R herunterladen

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

Bewerbungsdatenbank auf der Basis von OpenOffice.org Systemvoraussetzungen...3

Transkript:

Demographie III Übung Roland Rau mailto:roland.rau@uni-rostock.de 15. Oktober 2012 Inhaltsverzeichnis 1 Überblick 2 2 Erste Schritte in R 2 2.1 Woher erhalte ich R?............................... 2 2.2 Ein sehr mächtiger Taschenrechner........................ 2 2.3 Wertezuweisungen, Assignments......................... 4 2.4 Aufrufe von eingebauten Funktionen....................... 5 2.5 Simples Plotten.................................. 6 2.6 Hilfe finden.................................... 9 2.7 Editor für Skripte................................. 10 2.8 Dateneingabe................................... 10 3 Aufgaben: 15 1

1 Überblick WICHTIGER HINWEIS: EIGENER LAPTOP KANN VERWENDET WERDEN!!! In der Vorlesung hatten wir das Thema von diskretem und kontinuierlichem Wachstum bei Bevölkerungen (ohne Einbeziehung einer Altersstruktur) besprochen. Bevor wir auf die Berechnungen derselben eingehen werden, wollen wir zuerst erste Schritte in der Sprache R unternehmen. 2 Erste Schritte in R 2.1 Woher erhalte ich R? Bei R handelt es sich um Free Software. Sie erhalten eine aktuelle Version unter http: //www.r-project.org Download, Packages CRAN; dort wählen Sie einen Mirror in Ihrer Nähe aus und laden die entsprechende Version für Ihr Betriebssytem herunter (Windows, Mac, Linux). 2.2 Ein sehr mächtiger Taschenrechner Nach der erfolgreichen Installation von R, starten Sie R unter Windows einfach durch doppelklicken auf das entsprechende Icon. Das > Zeichen bedeutet, dass R auf Ihre Eingabe wartet. Sie können R wie einen Taschenrechner benutzen. Ihre Eingabe schliessen Sie mit der EN- TER bzw. RETURN Taste ab. Das ist natürlich nur ein kleiner Aspekt, was R kann. Addition, Subtraktion, Multiplikation und Division sollte klar sein. > 3+4 [1] 7 > 4-9 2

[1] -5 > 12*5 [1] 60 > 13 / 5 [1] 2.6 Terme wie 3 2 lassen sich in R folgendermassen schreiben. > 3^2 [1] 9 Falls dies ein längerer Ausdruck wird, können Sie natürlich Klammern verwenden. > 3^(1+1) [1] 9 Bitte beachten Sie, dass der Befehl log den Logarithmus zur Base e berechnet. Zur Berechnung des Logarithmus zur Basis 10 oder Basis 2 beötigen Sie folgende Funktionen. > exp(1) [1] 2.718282 > exp(12) [1] 162754.8 > log(10) [1] 2.302585 > log(exp(1)) 3

[1] 1 > log10(10) [1] 1 > log2(2) [1] 1 Zudem bietet Ihnen R auch noch weitere interessante Operatoren zur Berechnung des Modulus und zur Integer-Division : > 13 / 5 [1] 2.6 > 13 %% 5 [1] 3 > 13 %/% 5 [1] 2 > 2.3 Wertezuweisungen, Assignments Ein wichtige Fähigkeit von (klassischen) Programmiersprachen ist es, Werte einer Variablen zuzuweisen. In R geschieht dies mittels <-. > weltbev2010 <- 6895889000 > weltbev2010 [1] 6895889000 > weltbev1950 <- 2532229000 4

Nun können wir bereits relativ einfach berechnen, mit welcher Rate die Bevölkerung in diesen Jahren gewachsen ist > r <- log(weltbev2010 / weltbev1950) / (2010-1950) > r [1] 0.01669709 Wie groß wäre die Weltbevölkerung denn, wenn wir annehmen würden, sie würde mit derselben Rate weitere 40 Jahre wachsen (damit also das Jahr 2050)? > t <- 40 > Nt <- weltbev2010 * exp(r * t) > Nt [1] 13447713611 > ### in Millionen > Nt / 1000000 [1] 13447.71 2.4 Aufrufe von eingebauten Funktionen Natürlich beherrscht R nicht nur diese Grundrechenarten. Zusätzlich ist eine Vielzahl an Funktionen in R enthalten. Der übliche Weg, diese Funktionen aufzurufen läuft über funktionsname(argument1, argument2,...) Zum Beispiel können wir folgendermassen n Zufallszahlen zwischen 0 und 1 erzeugen. > runif(n=5) [1] 0.0122956 0.1168052 0.2174310 0.2525183 0.3125598 > runif(5) [1] 0.3581863 0.6541881 0.6861648 0.7096947 0.2037646 5

Mit weiteren Argumenten können wir den möglichen Wertebereich auch erweiteren oder einschränken. > runif(n=10, min=0, max=20) [1] 12.0370061 0.6875545 16.5678464 5.0080460 6.6779685 0.7695274 [7] 13.9899051 2.5069434 1.6810864 13.7653628 Bitte beachten Sie auch, dass es R erlaubt, mehrere Funktionen ineinander zu verschachteln : > durchschnitt <- mean(runif(n=100, min=0, max=100)) > durchschnitt [1] 48.14843 2.5 Simples Plotten R erlaubt es auch relativ einfach, die Daten graphisch abzubilden: > meine.daten <- runif(n=1000) > plot(meine.daten) 6

0 200 400 600 800 1000 0.0 0.2 0.4 0.6 0.8 1.0 Index meine.daten Oder ein Histogramm zu erstellen: > meine.daten2 <- rnorm(100000) > hist(meine.daten2) 7

Histogram of meine.daten2 Frequency 0 5000 10000 15000 4 2 0 2 4 meine.daten2 Oder mit mehr bins > meine.daten2 <- rnorm(100000) > hist(meine.daten2, breaks=200) 8

Histogram of meine.daten2 Frequency 0 500 1000 1500 2000 4 2 0 2 4 meine.daten2 2.6 Hilfe finden Sie werden sich nun wohl fragen, woher man erfahren kann, wie die Funktionen heissen und wie die verschiedenen Argumente lauten. Wenn Sie wissen, wie die Funktion lautet, können Sie ganz einfach die Hilfeseite aufrufen, und zwar mittels help(mean) oder ganz einfach?mean Wenn Sie dies nicht wissen, hilft häufig ein (dauert aber ein bisschen, bis Ergebnisse kommen): help.search("mean") Oder aber Sie nutzen das WWW und googeln nach 9

R-project how to calculate the mean 2.7 Editor für Skripte Bisher hatten wir ja alles einfach auf der Kommandoebene eingegeben. Wie Sie vielleicht von SPSS (oder anderen Statistikpaketen) wissen, gibt es normalerweise die Möglichkeit ein Skript zu schreiben (SPSS nennt dies Syntax ). Wenn Sie langfristig mit R arbeiten wollen, kann ich Ihnen unter Windows Tinn-R empfehlen (http://www.sciviews.org/tinn-r/). Der beste Editor für R ist jedoch, meiner Meinung nach, (GNU) Emacs (http://www.gnu.org/software/emacs/) mit dem Statistikmode ESS (http://ess.r-project.org/). Wenn Sie dies unter Windows nutzen möchten, lege ich Ich Ihnen die Version von Vincent Goulet ans Herz, die sozusagen alles bereits beinhaltet, was Sie benötigen (http://vgoulet.act.ulaval.ca/en/ressources/emacs/). Für die Arbeiten hier im Kurs reicht es jedoch völlig aus, dass wir den eingebauten Editor verwenden. Starten Sie ihn via DATEI -> NEUES SKRIPT. 2.8 Dateneingabe Bis jetzt hatten wir ja noch gar nicht darüber gesprochen, wie man Daten eingibt. Sie können Daten selbst eingeben: (c steht dabei für concatenate) > sp <- c("kyle", "Cartman", "Kenny", "Stan") > taschengeld <- c(10,8,na,10) > sp [1] "Kyle" "Cartman" "Kenny" "Stan" > taschengeld [1] 10 8 NA 10 NA steht dabei für missing values. Sequenzen von Daten geben Sie über seq ein: 10

> no1 <- 1:10 > no2 <- seq(from=1, to=10, by=1) > no3 <- seq(from=1, to=10, by=4) > no1 [1] 1 2 3 4 5 6 7 8 9 10 > no2 [1] 1 2 3 4 5 6 7 8 9 10 > no3 [1] 1 5 9 Wenn Sie Daten wiederholt eingeben, müssen Sie dies nicht manuell tun. Dafür gibt es rep: > rep(x=10, times=3) [1] 10 10 10 > rep(no3, times=4) [1] 1 5 9 1 5 9 1 5 9 1 5 9 Dies waren eindimensionale Daten (Skalare und Vektoren). Auch wenn R bis zu 7(?) Dimensionen unterstützt, reichen uns zwei Dimensionen in diesem Kurs aus. R kennt zwei zweidimensionale Arten, wie man Daten darstellen kann: Matrizen und Dataframes. Dataframes sind vergleichbar mit den Datenfenstern, wie Sie sie vielleicht aus SPSS kennen. Zuerst einmal eine Matrix: > meine.matrix <- matrix(1:12, byrow=false, ncol=4) > meine.matrix [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6 9 12 11

Wie Sie vielleicht durch eckigen Klammern erkennen können, kann man einzelne Spalten oder Zeilen einer Matrix relativ einfach extrahieren und (evtl.) einer neuen Variablen zuordnen: > meine.matrix[2,] [1] 2 5 8 11 > meine.matrix[,2] [1] 4 5 6 > extrahiert <- meine.matrix[,4] > extrahiert [1] 10 11 12 Dataframes erstellt man mittels: > mein.df <- data.frame(person=sp, einkommen=taschengeld) > mein.df person einkommen 1 Kyle 10 2 Cartman 8 3 Kenny NA 4 Stan 10 Einzelne Variables können Sie durch das $ ansprechen. > names(mein.df) [1] "person" "einkommen" > mein.df$person [1] Kyle Cartman Kenny Stan Levels: Cartman Kenny Kyle Stan 12

Dies ist nötig, da R mehr als nur einen Datensatz im Speicher haben kann. Der hauptsächliche Unterschied zwischen einer Matrix und einem Dataframe ist derjenige, dass in einem Dataframe unterschiedliche Datentypen gespeichert werden können (vereinfacht: Text und Zahlen), während in einer Matrix jeweils nur ein Datentyp verwendet werden kann (Text oder Zahlen). Die meisten Daten tippen Sie jedoch nicht selbst ab. Zum Laden bestehender Datensätze wird in aller Regel die Funktion read.table verwendet: > deutschland <- read.table("http://www.wiwi.uni-rostock.de/uploads/media/deutschland2008.csv", + header=true, skip=1, sep=",") > head(deutschland) Jahr Bev Geburten Tod Immigration Emigration 1 1972 NA 901657 965689 NA NA 2 1973 NA 815969 962988 NA NA 3 1974 NA 805500 956573 NA NA 4 1975 NA 782310 989649 NA NA 5 1976 NA 798334 966873 NA NA 6 1977 NA 805496 931155 NA NA Die Anzahl der Geburten und Sterbefälle in Deutschland lässt sich nun relativ einfach abbilden: > plot(x=deutschland$jahr, y=deutschland$tod, col="blue", type="l", + xlab="jahr", ylab="geburten/sterbef~ad lle", ylim=c(0,1000000)) > lines(x=deutschland$jahr, y=deutschland$geburten, col="red") > #head(colors()) 13

Geburten/Sterbefälle 0 200000 400000 600000 800000 1000000 1975 1980 1985 1990 1995 2000 2005 Jahr Nun können wir beispielsweise ganz einfach berechnen, wieviele Geburten zwischen 1972 und 2008 gezählt wurden. Oder aber wieviele Personen durchschnittlich ausgewandert sind: > sum(deutschland$geburten) [1] 29468952 > mean(deutschland$emigration) [1] NA Was bedeutet nun NA? R ist relativ clever und hat bemerkt, dass es bei der Variablen Emigration missing values gibt (NAs). Somit ist auch der Durchschnitt ein NA. Aber durch ein weiteres Argument, kann der Durchschnitt trotzdem ausgegeben werden. > mean(deutschland$emigration, na.rm=true) [1] 681264.5 14

3 Aufgaben: Diese Aufgaben dienen Ihnen, dass Sie erste Schritte in R machen können. Wir werden die Lösungen nächste Woche diskutieren. Laden Sie sich R herunter und installieren es. Erstellen Sie einen Ordner (Verzeichnis) auf Ihrer Festplatte, wenn Sie Ihren eigenen Laptop verwenden wollen. Oder aber einen Ordner (Verzeichnis) auf Ihrem Netzlaufwerk und geben Sie ihm einen Namen mit Wiedererkennungswert! Bitte verwenden Sie keine Leerzeichen in Ihrem Ordnernamen. Und bitte, bitte nicht einen Ordner auf dem Desktop oder in Eigene Dateien erstellen. Das sorgt leider nur für Schwierigkeiten. Laden Sie den Datensatz UNestimates.csv von meiner Homepage im Internet herunter und speichern ihn Ihrem neuen Verzeichnis. Beispielsweise: C:\\WS1213\\DemoIII\\ Laden Sie diesen Datensatz in R. Öffnen Sie dazu im Editor ein Neues Skript und speichern es in Ihrem neuen Verzeichnis ab. Beispielsweise als C:\\WS1213\\DemoIII\\demo3uebung1.r In der ersten Zeile Ihres Skriptes sollten Sie das Arbeitsverzeichnis, also Ihr Verzeichnis, festlegen. Dazu verwenden Sie die Funktion setwd. Beispielsweise: setwd("c:\\ws1213\\demoiii") Dann laden Sie den Datensatz, den Sie vorhin heruntergeladen haben, mittels: > meine.daten <- read.table("unestimates.csv", header=true, skip=1, sep=",") 15

Finden Sie heraus, was header, skip und sep bedeuten. Oder anders ausgedrückt: Was machen diese Argumente in der Funktion read.table? Ihr Datensatz sieht nun folgendermaßen aus: > head(meine.daten) Year Population 1 1950 2532229 2 1955 2772882 3 1960 3038413 4 1965 3333007 5 1970 3696186 6 1975 4076419 > ## oder > str(meine.daten) 'data.frame': 31 obs. of 2 variables: $ Year : int 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995... $ Population: int 2532229 2772882 3038413 3333007 3696186 4076419 4453007 48632 Die Wachstumrate zwischen 1950 und 1955 war somit: > log(meine.daten[2,2] / meine.daten[1,2])/5 [1] 0.01815745 Dasselbe Ergebnis erhalten Sie auch auf folgende Art und Weise: > log(meine.daten$population[2] / meine.daten$population[1])/5 [1] 0.01815745 16

Berechnen Sie nun auf diese beiden Arten die diskrete Wachstumsrate zwischen 1975 und 2010! Sie müssen sich dafür vermutlich einmal den gesamten Datensatz ansehen. Das geht mittels: meine.daten Keine Sorge: Es geht eleganter in R. Aber ich möchte Ihnen nicht zu viel aufbürden! 17