Erwin Grüner 15.12.2005

Ähnliche Dokumente
Erwin Grüner

Professionelle Seminare im Bereich MS-Office

Einführung in die Programmierung

Programmierkurs Java

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Java Kurs für Anfänger Einheit 5 Methoden

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Konzepte der Informatik

1 Vom Problem zum Programm

Wir arbeiten mit Zufallszahlen

Zeichen bei Zahlen entschlüsseln

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Modellierung und Programmierung 1

Zwischenablage (Bilder, Texte,...)

Excel Pivot-Tabellen 2010 effektiv

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Einführung in die Java- Programmierung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lehrer: Einschreibemethoden

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

5.2 Neue Projekte erstellen

Excel Funktionen durch eigene Funktionen erweitern.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Erstellen von x-y-diagrammen in OpenOffice.calc

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Übungen für Woche 10

Was meinen die Leute eigentlich mit: Grexit?

Quadratische Gleichungen

1 topologisches Sortieren

Primzahlen und RSA-Verschlüsselung

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

2. Programmierung in C

OP-LOG

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Programmiersprachen und Übersetzer

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Netzwerkeinstellungen unter Mac OS X

Kurzeinführung LABTALK

Anleitung über den Umgang mit Schildern

Vorgehensweise bei Lastschriftverfahren

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Animationen erstellen

Task: Nmap Skripte ausführen

Die Excel Schnittstelle - Pro Pack

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Repetitionsaufgaben Wurzelgleichungen

Professionelle Seminare im Bereich MS-Office

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Kapitalerhöhung - Verbuchung

R ist freie Software und kann von der Website.

So gehts Schritt-für-Schritt-Anleitung

Kostenstellen verwalten. Tipps & Tricks

Grundbegriffe der Informatik

Bauteilattribute als Sachdaten anzeigen

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Aufklappelemente anlegen

affilinet_ Flash-Spezifikationen

SANDBOXIE konfigurieren

Stand: Adressnummern ändern Modulbeschreibung

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Wie halte ich Ordnung auf meiner Festplatte?

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

3. LINEARE GLEICHUNGSSYSTEME

1 Mathematische Grundlagen

teamsync Kurzanleitung

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Die Post hat eine Umfrage gemacht

3. Stored Procedures und PL/SQL

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Anwendungsbeispiele Buchhaltung

Anwendungshinweise zur Anwendung der Soziometrie

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Anwendungsbeispiele Buchhaltung

Behandeln Sie»undefined«als»nicht vorhanden«thema 54

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense

Einführung in die Programmierung

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

XT Großhandelsangebote

Hilfedatei der Oden$-Börse Stand Juni 2014

Zur drittletzten Zeile scrollen

Dokumentenverwaltung im Internet

Lehrer: Kurs wiederherstellen

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Kurzanleitung. Toolbox. T_xls_Import

Dazu stellen Sie den Cursor in die Zeile, aus der eine Überschrift werden soll, und klicken auf die gewünschte Überschrift.

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Transkript:

FB Psychologie Uni Marburg 15.12.2005

Themenübersicht

Mit Hilfe der Funktionen runif(), rnorm() usw. kann man (Pseudo-) erzeugen. Darüber hinaus gibt es in R noch zwei weitere interessante Zufallsfunktionen: sample() und set.seed().

Die Funktion sample() Mit Hilfe der Funktion sample() kann man eine Zufallsstichprobe aus einem Vektor von Werten ziehen. Dabei kann man zwischen Ziehen mit und Ziehen ohne Zurücklegen 1 wählen. 1 d.h. damit erzeugt man eine zufällige Permutation.

Aufruf der Funktion (mit Voreinstellungen) sample(x, size, replace = FALSE, prob = NULL) Parameter x size replace prob Bedeutung Vektor oder positive ganze Zahl Anzahl der Elemente, die gezogen werden sollen Ziehen ohne (F) bzw. mit (T) Zurücklegen Vektor von Wahrscheinlichkeiten Ist x eine Zahl, so ist die Wirkung dieselbe wie bei Eingabe von 1:x.

Die Funktion set.seed() Mit Hilfe der Funktion set.seed kann der Pseudozufallszahlengenerator initialisiert, d.h. auf einen festen Startwert gesetzt werden. Auf diese Weise ist es möglich, dieselbe Folge von Pseudozufallszahlen zu erzeugen, um z.b. die Ergebnisse von Monte Carlo Studien zu überprüfen.

Aufruf der Funktion (mit Voreinstellungen) set.seed(seed, kind = NULL) Parameter seed kind Bedeutung Initialisierungswert Arbeitsmodus Der Initialwert dient zum Initialisieren, der Arbeitsmodus definiert den Algorithmus, der bei der Berechnung der verwendet werden soll.

Die Liste ist eine sehr flexible Datenstruktur. Sie ist eine geordnete Menge von beliebig vielen Elementen. Die Elemente können von beliebigem Typ bzw. beliebiger Struktur sein. Ein Data Frame ist übrigens eine Liste von Vektoren gleicher Länge. Die Funktionen zur statistischen Modellbildung geben ihr Ergebnis im allgemeinen in Form einer Liste zurück.

Die Funktion list() Die Funktion list() ist die Konstruktorfunktion für eine Liste. Aufruf der Funktion list(...) In der Liste der Argumente (...) werden die Größen aufgeführt, die zu der Liste zusammengefasst werden sollen. Die Elemente können auch in der Form name=element angegeben werden. Damit wird dem entsprechenden Element innerhalb der Liste ein Name zugewiesen. Eine Benennung von elementen kann auch nachträglich mit Hilfe der Funktion names() vorgenommen werden.

Möglichkeiten des Zugriffs auf elemente Mit Hilfe eines Index oder Namens in doppelten eckigen Klammern erhält man das entsprechende Element der Liste: liste[[i]] bzw. liste[[ elementname ]] Mit Hilfe des $-Operators erhält man das Element mit dem angegebenen Namen: liste$elementname Mit Hilfe eines Index bzw. Namens in einfachen eckigen Klammern erhält man eine Liste mit dem entsprechenden Element der Liste 2 : liste[i] bzw. liste[ name ] 2 Hier kann auch ein (positiver oder negativer) Indexvektor oder ein Namensvektor angegeben werden; dann werden die entsprechenden Elemente zusammen in eine Liste gepackt.

elemente löschen elemente werden aus einer Liste entfernt, wenn man ihnen den Wert NULL zuweist. Wird ein Element aus einer Liste entfernt, so rücken die nachfolgenden Elemente in der Reihenfolge sofort nach 3. 3 Dies ist zu beachten, wenn man mehrere Elemente nacheinander löschen will.

Die Funktion unlist() Mit der Funktion unlist() wird aus den Elementen einer Liste ein Vektor bzw. eine Liste niedrigerer Ordnung erzeugt. Aufruf der Funktion (mit Voreinstellungen) unlist(x, recursive = TRUE, use.names = TRUE) Das erste Argument ist normalerweise eine Liste 4. Ist recursive auf TRUE gesetzt, so wird die Liste rekursiv durchlaufen, und das Ergebnis ist ein Vektor. Ist use.names auf TRUE gesetzt, so bleiben die Namen der Elemente erhalten. 4 Ist das erste Argument ein Vektor, so wird er unverändert zurückgegeben.

Die Funktion lapply() Analog zur Funktion apply(), mit deren Hilfe man eine Funktion auf alle Spalten und/oder Zeilen einer Matrix anwenden kann, gibt es für die Funktion lapply().

Aufruf der Funktion lapply(x, FUN,...) Parameter Bedeutung x Liste FUN Name bzw. Rumpf der anzuwendenden Funktion... Argumente für die Funktion (optional) Das Ergebnis dieser Funktion ist eine Liste gleicher Länge wie x. Die Elemente der Rückgabeliste sind jeweils die Ergebnisse der angegebenen Funktion, angewandt auf das jeweilige element von x.

Die Funktion sapply() Die Funktion sapply() arbeitet genauso wie die Funktion lapply() mit dem Unterschied, dass die Rückgabe bezüglich der Datenstruktur vereinfacht wird, d.h. die Rückgabe kann anstatt in Form einer Liste die Form einer Matrix oder eines Vektor erfolgen.

Aufruf der Funktion (mit Voreinstellungen) sapply(x, FUN,..., simplify = TRUE, use.names = TRUE) Parameter Bedeutung x Liste oder Vektor FUN Name bzw. Rumpf der anzuwendenden Funktion... Optionale Argumente für die Funktion simplify T: wenn möglich, soll ein Vektor zurückgegeben werden use.names T: ist x ein Charactervektor, wird er zur Namensgebung für die Rückgabe verwendet

Das Arbeiten besteht in der Hauptsache im Aufruf von Funktionen. Die Mächtigkeit von R steckt im wesentlichen in seinen eingebauten und benutzerdefinierten Funktionen. In R gibt es eine Reihe von Funktionen, die sog. primitives, die in einer höheren Programmiersprache (z.b. in C) geschrieben und vorkompiliert sind. Andere Funktionen sind in R selbst geschrieben 5. Eine der Stärken von R ist es, dass es kein starres System ist. Vielmehr kann der Benutzer dieses System durch Definition eigener Funktionen erweitern und an seine Bedürfnisse anpassen. Der Quellcode einer in R geschriebenen Funktion wird ausgegeben, wenn man den Funktionsnamen ohne Klammern eingibt. 5 R ist auch eine Programmiersprache.

Syntax eines Funktionsaufrufs funktionsname(argumente) Es wird der Name der Funktion angegeben, gefolgt von der Liste der Argumente in runden Klammern. Ist die Liste der Argumente leer, so ist ein leeres Klammernpaar zu setzen. Da es in R sowohl Stellungs- als auch Schlüsselwortparameter gibt, sind beim Aufruf einer Funktion auch beide Modi verwendbar. Schlüsselwortparameter werden in folgender Weise spezifiziert: schlüsselwortname=wert Der Schlüsselwortnamen kann abgekürzt werden, sofern die Eindeutigkeit gewahrt ist.

Parameter von Funktionen Man unterscheidet Stellungs- und Schlüsselwortparameter. In R sind beide Aufrufmodi verwendbar (auch gemischt), d.h. Funktionsparameter sind sowohl durch Namen als auch durch ihre Reihenfolge ansprechbar. Stellungsparameter sind definiert durch die Stellung, d.h. die Reihenfolge innerhalb der Parameterliste. Schlüsselwortparameter sind definiert durch den Namen des Parameters....

Man unterscheidet obligate vs. optionale Parameter. Bei manchen Parametern gibt es Voreinstellungen (defaults). Eine Voreinstellung tritt in Kraft, falls das entsprechende Argument weggelassen wird. Manche Funktionen rufen ihrerseits andere Funktionen auf. An diese können irgendwelche Argumente weitergereicht werden, falls in der Funktionsdefinition der Parameter... angegeben ist.

Benutzerdefinierte Funktionen Definition eines Funktionsobjekts function(parameter) funktionsrumpf Der Funktionsrumpf besteht entweder aus einer einzelnen Anweisung oder aus einem Block von mehreren Anweisungen. In diesem Fall sind geschweifte Klammern zu verwenden: function(parameter) { anweisungen }

In der bisherigen Form ist die Funktion eine anonyme Funktion. Um eine Funktion auch verwenden zu können, wird das Funktionsobjekt einer Variable zugewiesen, und so erhält man eine benannte Funktion: funktionsname <- funktionsobjekt

Ein benutzerdefinierte Funktion wird im allgemeinen also folgende Gestalt haben: funktionsname <- function(parameter) { anweisungen }

Parameter und Voreinstellungen In der Funktionsdefinition können auch Voreinstellungen für Parameter definiert werden. Voreinstellungen werden in der Parameterliste (d.h. innerhalb der runden Klammern) definiert. Dazu lässt man nach dem Namen des Parameters dessen Voreinstellung folgen: parameter=default Wird dann beim Aufruf der Funktion das entsprechende Argument weggelassen, so wird der voreingestellte Wert genommen.

Parameterübergabe an Funktionen Beim Aufruf einer Funktion werden die Werte der Aufrufargumente auf die Funktionsparameter kopiert. Die Zuordnung eines Arguments zu einem bestimmten Parameter erfolgt entweder anhand seiner Stellung innerhalb der Argumentenliste oder anhand des entsprechenden Schlüsselworts. Die meisten Funktionen geben einen Wert zurück, nämlich den Wert des letzten in der Funktion evaluierten Ausdrucks. Für die explizite Werterückgabe gibt es auch eine eigene Funktion, nämlich die Funktion return().

Die Funktion return() Aufruf der Funktion return(value) Mit dem Aufruf der return-funktion wird die laufende Funktion sofort verlassen und der angegebene Wert an die aufrufende Funktion zurückgegeben. Normalerweise wird der Rückgabewert auch (auf dem Bildschirm) ausgegeben. Will man einen Wert zwar zurückgeben, aber dessen Ausgabe unterdrücken, so verwendet man die Funktion invisible().

Gültigkeit von Variablen ( scope ) Die Variablen und deren Werte bilden in R die sogenannte Umgebung (environment, namespace), innerhalb deren der Interpreter Ausdrücke auswertet. In der interaktiven Umgebung (d.h. in der Kommandozeile) definierte Variablen sind global und damit in allen Funktionen definiert 6. Alle in einer Funktion definierten Variablen sind lokale Variablen. Auch die Parameter einer Funktion sind lokale Variablen, d.h. nur innerhalb der Funktion definiert. Lokale Variablen verdecken globale Variablen mit gleichem Namen. In R existieren verschiedene Funktionen, die es erlauben, die Umgebung zu manipulieren bzw. zu setzen. 6 Von der Verwendung globaler Variablen in Funktionen ist jedoch abzuraten; statt dessen wird empfohlen, sie als Argumente zu übergeben.