Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

Ähnliche Dokumente
Erwin Grüner

Microsoft Rechner. Kurzanleitung ohne Maus

Operatoren und Ausdrücke

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

Einführung in die Programmierung (MA8003)

Einführung in die Programmierung (MA8003)

Aufgabe 1: Geben Sie die Nullstellen der Funktion f(x) = sin (3x 2

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

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

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

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Die einfachsten Anweisungen

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

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

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Vorlesung Unix-Praktikum

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Projekt 3 Variablen und Operatoren

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Advanced Matlab. living knowledge WWU Münster. Mario Ohlberger, Martin Drohmann, Stefan Girke 10/05/2012

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Einstieg in die Informatik mit Java

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

K3 K2 K x. plot x 2 C x K 2, x = K3..2 ;

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

Einführung in die Programmierung (MA8003)

Einführung in die formale Demographie Übung

Einführung in die Programmiersprache C

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

Algorithmen und ihre Programmierung

Abzählen und Konstruktion der Strukturisomere von Alkanen, Alkenen und Alkinen

Datenverarbeitung und Tabellenkalkulation. Braunschweig, den Dipl.- Ing. Katrin Leicht

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Einführung in MATLAB

Vektoren. 2.1 Darstellung. Kapitel Subtraktion und Addition

Vorkurs: Mathematik für Informatiker

3 Matrizenrechnung. 3. November

Octave/Matlab-Übungen

Statistisches Programmieren

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

C-Programmierung: Ausdrücke und Operatoren#Division.2F

Einführung in die Informatik I

Einführung in die Praktische Informatik. Übungsblatt 3. PD Dr. U. Köthe Heidelberg, 7. November Aufgabe 3.1 Gaußsche Osterregel [6 Punkte]

Programmieren mit statistischer Software

Matrizen. Jörn Loviscach. Versionsstand: 12. April 2010, 19:00 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.

Fachhochschule Südwestfalen Wir geben Impulse. Vektorrechnung in Octave

R-Tutorial. R bietet zahlreiche Hilfe-Funktionen an. Informiere Dich über die Funktion log():

Matrizen. Jörn Loviscach

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

JAVA-Datentypen und deren Wertebereich

Vektoren. Jörn Loviscach. Versionsstand: 30. März 2010, 18:06 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.

Mit Dateien und Ordnern arbeiten

In den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):

Quadrieren Sie die Zahlen 3, pi, 1 und i mit Hilfe des Operators ^ und ziehen Sie aus den Ergebnissen jeweils die Wurzel.

Dr. Monika Meiler. Inhalt

Objektorientierte Programmierung

Einführung in MATLAB für Maschinenbauer im ersten Semester. Aufgaben und Lösungen

Dynamische Systeme und Zeitreihenanalyse // Komplexe Zahlen 3 p.2/29

R-Fehlermeldungsleitfaden

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Zweiter Teil des Tutorials. Workspace M-files Matrizen Flow Control Weitere Datenstrukturen Gemeinsames Beispiel erarbeiten

Ein kleiner Matlab Primer Frank Schimmel

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

Vektoren und Matrizen

MLAN1 1 MATRIZEN 1 0 = A T =

LOGISCHE FUNKTIONEN...

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

Grundlagen von MATLAB

Vektoren. Jörn Loviscach. Versionsstand: 11. April 2009, 23:42

Einführung in die Angewandte Bioinformatik: Datenanalyse mit R

CalcVectorPC v Veröffentlicht 2016 Copyright S-cubic GmbH. Krebsbachstr. 12 D Bergisch Gladbach

Der Umgang mit Zahlen. Ein wesentlicher Unterschied: int oder float. Beispiel: int oma, opa, summe; float messwert, mittel; char zeichen, z1, z2, c;

Einstieg in die Informatik mit Java

In den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings

Einstieg in die Informatik mit Java

10 Komplexe Zahlen. 2. Februar Komplexe Multiplikation: Für zwei Vektoren. z 1 =

Bogenmaß, Trigonometrie und Vektoren

Mathematik am Computer 4. Vorlesung Matlab: Teil 1

Richtig Mappen mit MEd

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

Klausur Grundlagen Informatik Musterklausur & Lösungen

Übersicht Shell-Scripten

Trigonometrie. Winkelfunktionen und Einheitskreis

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

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Statistik-Programme. Inhalt. 1.1 Kleine Einführung in R Installieren und Starten von R

Programmieren mit statistischer Software

Länge, Skalarprodukt, Vektorprodukt

2. Einführung in das Ingenieurtool MATLAB

Matlab - eine kurze Einführung

k 5 Mathematische Vorlagen und die Vorlage für eine nxm-matrix mit dem Pfeilcursor bzw. dem Mauszeiger doppelt anklicken

Vorkurs Mathematik Übungen zu Komplexen Zahlen

Transkript:

Statistische Auswertungen mit R Universität Kassel, FB 07 Wirtschaftswissenschaften Dipl.-Volksw. Markus Pullen Wintersemester 2012/13 Beispiele 1. Sitzung Einstieg, Berechnungen und Funktionen, Zuweisungen R-Download unter http://cran.r-project.org/ Wählen Sie immer die 32-Bit-Version. > getwd() [1] > # Menü: Datei > Verzeichnis wechseln > getwd() [1] "C:/Dokumente und Einstellungen/USERNAME/Eigene Dateien/R_Projekte/R_Kurs" > # Menü: Datei > Sichere Workspace > save.image("c:\\dokumente und Einstellungen\\USERNAME\\Eigene Dateien\\R_Projekte\\R_Kurs\\.RData") > # Menü: Datei > Speichere History (erzeugt keine Befehlszeile) > # ACHTUNG: Am besten nur einen Workspace und eine History pro Ordner, beides ohne Namen. Mehrere mit verschiedenen Namen machen evtl. Probleme. > 3 * 12-1 [1] 35 > 80 / 4 + 2 [1] 22 > 2 * 5 ^ 2 [1] 50 > sqrt (5) # Wurzelfunktion [1] 2.236068 > 5 ^ 0.5 # Achtung: Dezimalpunkt, kein -komma [1] 2.236068 > 5 ^.5 # 0 vor dem Komma kann man weglassen [1] 2.236068 > 3 * (12-1) [1] 33 > 80 / (4 + 2 + ) # Wenn unklar, was fehlt, ESC drücken (allgemein für Abbruch) 1

[1] 13.33333 > (2 * 5) ^ 2 [1] 100 > 80 / (4 + 3) [1] 11.42857 > 45 %/% 6 # ganzzahlige Division (Vorsicht bei negativen Zahlen) [1] 7 > 45 %% 6 # Rest bei ganzzahliger Division (45 modulo 6, 45 mod 6) [1] 3 > exp (7) # e hoch 7 [1] 1096.633 > log (1096.633) # natürlicher Logarithmus (Basis e) [1] 7 > log2 (64) # Logarithmus zur Basis 2 (Umkehrfunktion von 2 hoch n) [1] 6 > log10 (100) # Logarithmus zur Basis 10 [1] 2 > pi [1] 3.141593 > PI # Achtung: R unterscheidet zwischen Groß- und Kleinschreibung Fehler: Objekt 'PI' nicht gefunden > sin (90) [1] 0.8939967 > sin (pi / 2) [1] 1 Winkelangaben in R im Bogenmaß, nicht im Winkelmaß! Umrechnung mit Dreisatz bzw. festem Wechselkurs : Ich muss mir zu einem Winkel seine Entsprechung im Bogenmaß merken (90 pi /2 oben verwendet oder 180 pi oder 360 2 * pi). Von Winkelgrad ins Bogenmaß: durch den Winkel teilen, mit dem Bogen multiplizieren. Vom Bogenmaß in Winkelgrad umgekehrt: durch den Bogen teilen, mit dem Winkel multiplizieren. > asin (1) [1] 1.570796 > asin(1)*2 [1] 3.141593 > cos (0) [1] 1 > acos (1) [1] 0 > tan (1) [1] 1.557408 > atan (1.557408) [1] 1 2

> sin (180 / 90 * pi / 2) # Sinus von 180 Grad: eigentlich 0 [1] 1.224606e-16 > # naturwiss. Notation: 1.224606 * 10 ^ (-16), d. h., der Dezimalpunkt muss noch 16 Stellen nach links verschoben werden: 0.000 000 000 000 000 122 460 600 Entsprechend 1.5e+12 = 1 500 000 000 000 > round (pi) [1] 3 > round (pi, 2) [1] 3.14 > round (376, -2) [1] 400 > round function (x, digits = 0).Primitive("round") >? round # Kurzfassung von help(round) >?? round # Kurzfassung von help.search(round) > # Zuweisungen: Dem Ergebnis einen Namen geben. > # Es entsteht ein Objekt. > a <- 7 # elegant, kann nicht mit logischem Vergleich verwechselt werden > b <- 5 > c = a * b # unelegant, aber schneller zu tippen > c [1] 35 > # c ist wichtige Funktion, sollte nicht als Name verwendet werden. > # Gleiches gilt für pi, t, F und T > remove(c) > c function (..., recursive = FALSE).Primitive("c") > (d = a + b) [1] 12 > d [1] 12 Wenn Sie ein Objekt durch eine Zuweisung erzeugt haben (z. B. d = a + b), behält es den zugewiesenen Wert bis zu einer erneuten Zuweisung, die sich direkt auf dieses Objekt bezieht (d = bzw. d <- ). Im Beispiel bleibt d, wie es ist, auch wenn Sie a oder b durch a = oder b = (bzw. a <- oder b <- ) ändern. 3

> # Logische Vergleiche ==,!= (ungleich), <, <=, >, >= > d == a * b [1] FALSE > d == a + b [1] TRUE > Wahr = T > Wahr [1] TRUE > (Falsch = F) [1] FALSE > # Besser nicht die Abkürzungen F und T verwenden, falls man Sie doch selbst als Objekte definiert hat. > # Wenn ich die Zuweisung vergessen habe: > 3 ^ 9 > Erg =.Last.value > Erg > 3 ^ 9 -> Erg.neu # Einige Autoren raten ab, da zu unübersichtlich. > Erg.neu > Erg.neu.2 = 3 ^ 9 > Erg.neu.2 > ls() [1] "a" "b" "d" "Erg" "Erg.neu" "Erg.neu.2" "Falsch" "Wahr" > q() #oder Menü: Datei > Beenden (oder Schließen-Icon rechts oben.) > # Vektor: Basis der Statistik (Zahlenreihe), Grundeinheit in R > # Mit einer einzelnen Zahl kann man keine Statistik machen. > (v.1 = c( 3, 7, 8, 9, 5, 12)) [1] 3 7 8 9 5 12 > (v.2 = seq (1, 6) ) [1] 1 2 3 4 5 6 > (v.3 = rep (5, 7) ) [1] 5 5 5 5 5 5 5 > (v.4 = 1 : 100 ) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4

[45] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 [89] 89 90 91 92 93 94 95 96 97 98 99 100 > 3 * v.1 [1] 9 21 24 27 15 36 > v.1 + v.2 [1] 4 9 11 13 10 18 > v.1[3] # Zugriff auf einzelne Komponente mit eckigen Klammern [1] 8 > v.1[3] = 7 > v.1 [1] 3 7 7 9 5 12 > v.4 [17 : 24] # Zugriff auf mehrere Komponenten geht auch [1] 17 18 19 20 21 22 23 24 > v.4 [17 : 12] [1] 17 16 15 14 13 12 > v.2 [8 : 4] [1] NA NA 6 5 4] > # NA (not available): Fehlender Wert (z. B. verweigerte/nicht gewusste Antwort im Fragebogen) > v.2 [c(1, 3, 4)] [1] 1 3 4 > v.2 [-4] # 4. Komponente (nicht 4. Element ) weglassen [1] 1 2 3 5 6 > v.4[- 20:80] Fehler in v.4[-20:80] : nur Nullen dürfen mit negativen Indizes gemischt werden > v.4[- (20:80)] [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 [35] 96 97 98 99 100 > v.2 [-c(1, 3, 4)] [1] 2 5 6 > v.2 * v.3 # komponentenweise Multiplikation (R-Konvention) [1] 5 10 15 20 25 30 5 Warnmeldung: In v.2 * v.3 : Länge des längeren Objektes ist kein Vielfaches der Länge des kürzeren Objektes 5

> # Trotzdem ausgeführt: 5 am Ende bleibt nicht einfach stehen, sondern erste Komponente des kürzeren Vektors wird recycelt R fängt beim kürzeren Vektor wieder von vorne an (hier: 1 * 5). Wäre die Länge von v.3 ein Vielfaches der Länge von v.2, würde nicht einmal die Warnmeldung ausgegeben! > v.2 * v.3 [-7] [1] 5 10 15 20 25 30 > (v.5 = seq (1, by =.5, along.with = v.3 ) ) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 > length(v.5) [1] 7 > t(v.5) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 1.5 2 2.5 3 3.5 4 > # v.5 ist ein Spaltenvektor, transponiert ist er ein Zeilenvektor > # (hier dargestellt als 1x7-Matrix) > # Vektoren aus Zeichenketten sind auch möglich > (Farben = c("rot", "grün", "blau") ) [1] "rot" "grün" "blau" > "a" : "f" Fehler in "a":"f" : NA/NaN Argument Zusätzlich: Warnmeldungen: 1: NAs durch Umwandlung erzeugt 2: NAs durch Umwandlung erzeugt > # So geht es also nicht, aber so: > letters [1:6] [1] "a" "b" "c" "d" "e" "f" > LETTERS [1:7] [1] "A" "B" "C" "D" "E" "F" "G" > # Menü: Datei > Speichern in Datei > # Sichert den gesamten Dialog mit R als Textdatei. VORSICHT: Wenn Sie mit der Maus etwas markiert haben, wird nur der markierte Bereich gespeichert! 6