Kurs:PC-Praktikum/Statistik Software

Aus Wikiversity

Einsatzmöglichkeiten (in der Schule)[Bearbeiten]

  • Implementation von Algorithmen
  • Statistische Auswertungen inklusive diverser Tests
  • Plotten von publikationsfähigen Abbildungen
  • Bestimmungen von Wahrscheinlichkeiten in der Stochastik

Einführung I[Bearbeiten]

R mit seiner graphischen Oberfläche RStudio nutzt eine Programmiersprache wodurch die Erstellung von Packages durch die Community und damit den Einsatzmöglichkeiten nur wengie Grenzen gesetzt sind. R bzw. RStudio ist für alle Betriebssystem downloadbar und besitzt eine sehr hoe Schnittstellenkompatibilität. So können zum Beispiel .csv-Dokumente eingelesen werden oder auch ganze dynamische Textdokumente mit knitR oder RMarkdown erstellt werden (letzteres werden wir im PC-Praktikum jedoch nicht nutzen, da es zusätzlich noch Kentnisse in LaTeX erfordert).

Einführung II[Bearbeiten]

Einführung III[Bearbeiten]

Die Abbildung zeigt die graphische Oberfläche von RStudio. In der Console können Befehle direkt ausgeführt und darunter die Ausgabe dargestellt werden. In dem Fenster darüber, in der Abbildung als Arbeitsbereich bezeichnet, können Skripte geschrieben werden. Mit den Felder "Run" bzw. "Source" werden einzelne Zeilen bzw. das ganze Skript ausgeführt. Dies Ausgaben erscheinen dann ebenfalls in der Console. Rechts in der Umgebung werden die eingegebenen Objekte wie Vektoren, Matrizen etc. aufgelistet mit ihren Eigenschaften.

Einführung III[Bearbeiten]

Rechts unten werden unter "Files" die implementeirten Dateien angezeigt, unter "Plots" werden Plots ausgegeben, "Packages" zeigt die aktiven Packages an und unter "Help" werden zusätzliche Hilfeoptionen angeboten. Mit dem Befehl "help()" können Informationen zu einem Befehl, welcher in der Klammer eingegeben wird, abgerufen werden. Analoges kann mit "?" und dem folgenden Befehl aufgerufen werden.
Mit "setwd("")" und dem Dateipfald in den Anführungszeigen wird ein Arbeitsverzeichnis festgelegt. Mit "getwd()" wird es abgerufen.

Datentypen und Vektoren I[Bearbeiten]

Ein Vektor besteht aus einer beliebigen Anzahl an Komponenten gleichen Typs/Modi. Die Typen können

  • Wahrheitswerte wie TRUE und FALSE ("logical", WAHR und FALSCH)
  • ganzezahlige Werte ("integer")
  • beliebige Zahlenwerte ("numeric")
  • alle weiteren eingaben wie Buchstaben oder Worte ("character")

sein.

Datentypen und Vektoren II[Bearbeiten]

Der Befehl

 v1<-vector(mode="numeric", length=5)

gibt einen Vektor der Lenge 5 aus, wobei alle Fünf Argumente Zahlenwerte haben. Mittels

<-

erfolgt die Zuweisung des Vektors zur Variable "v1". Ein Modus kann mittels "mode()" mit dem Argument des zu prüfenden Objektes abgefragt werden. Alternativ kann mit zum Beispiel "is.numeric()" und dem zu prüfenden Objekt als Argument abgefragt werden, ob der Modus numeric ist. Analog können die anderen Modi auch abgefragt werden.

Weitere Vektoren I[Bearbeiten]

Die folgenden Befehle

x<-c(2,4,5,6)
x1<-c(c(1,3),4,5)
x2<-rep(c(1,3),3)

erzeugen die Vektoren .

Weitere Vektoren II[Bearbeiten]

x3<-c(1:6)
x4<-seq(1,3,0.5)
x5<-seq(1,8,length=3)
x6<-runif(n=6, min=1, max = 7)

erzeugen die Vektoren

Weitere Vektoren III[Bearbeiten]

Der Befehl "rep()" wiederholt hier den Vektor dreimal, um den Vektor zu erzeugen. "c(1:6)" erzeugt einen Vektor aus natürlichen Zahlen von 1 bis 6. "seq()" erzeugt einen Sequenz mit Zahlen von 1 bis 3 und einer Schrittweite von 0.5. Alternativ wird mit dem gleichen Befehl und dem Argument "length=3" statt den 0.5 die Dimension des Vektors bestimmt und R bestimmt die Schrittweite automatisch mittels . "runif()" gibt einen Vektor der Länge 6 mit zufälligen Werten zwischen 1 und 7 aus.

Befehle für Vektoren I[Bearbeiten]

2+x

erzeugt einen Vektor, bei dem zu jeder Vektorkomponente von addiert.

sin(x)

erzeugt einen Vektor, dessen Vektorkomponenten den Sinus der ursprünglichen Vektorkomponenten enthalten.

length(x)

gibt die Länge, also die Anzahl der Komponenten, des Vektors aus.

sort(x)

gibt einen Vektor aus, bei dem die Komponenten von der Größe nach aufsteigend sortiert sind.

Befehle für Vektoren II[Bearbeiten]

min(x)

gibt das Minimum über die Komponenten des Vektors aus.

pmin(x,x1,x2,x3,x4,x5,x6)

gibt für jeden der angegebenen Vektoren die kleinste Komponente aus.

sum(x)

summiert alle Einträge des Vektors auf.

?pmin

gibt Informationen zum Befehl "pmin" im Hilfefenster aus.

Befehle für Vektoren III[Bearbeiten]

sqrt(x)

gibt einen Vektor mit den Wurzeln der einzelnen Komponenten von aus.

mean(x)

gibt das arithmetische Mittel über die Werte der einzelnen Komponenten von aus.

Aufgabe[Bearbeiten]

Vektor[Bearbeiten]

Erzeugen sie auf verschiedene Arten Vektoren der Länge 7.
Berechnen Sie die Wurzel und Median on je einem Vektor.
Lassen Sie die Befehle aus dem Dokument A1.R auf GitHub laufen und bestimmen Sie, was bei der Ausführung der Befehle passiert.

Auswahl von Elementen[Bearbeiten]

x[3]

ruft den dritten eintrag des Vektors auf.

a<-1

ordnet der Variablen den Wert zu.

x[3]<-a

ersetzt den dritten Wert des Vektors mit der Variablen , also .

which(x<=6)

gibt aus, welche Komponenten des Vektors einen Wert kleiner gleich haben.

x[-3]

streicht ersatzlos(!) die dritte Komponente des Vektors und reduziert somit dessen Dimension um .

Aufgabe[Bearbeiten]

Operieren mit Vektoren I[Bearbeiten]

In einem Protokoll sind die folgenden Größen für die Körpergröße von acht untersuchten Personen zu lesen:

  • Erzeugen Sie einen Vektor mit Namen gross für die gemessenen Größen.
  • Berechnen Sie den Mittelwert der gemessenen Größen.
  • Berechnen Sie den Mittelwert, wenn Sie der größten und der kleinsten Werte nicht berücksichtigen.
  • Berechnen Sie die Summe der Größen des dritten und vierten Probanden.
  • Berechnen Sie das Produkt der Größen des fünften und letzten Probenden.

Operieren mit Vektoren II[Bearbeiten]

  • Erzeugen Sie einen Vektor zur Speicherung der Größen, welche größer oder gleich sind.
  • Erzeugen Sie einen Vektor zur Speicherung der Indizes der Werte, die größer oder gleich sind.
  • Erzeugen Sie einen Vektor zur Speicherung der Körpergröße jeder zweiten Person.
  • Zeigen Sie alle Körpergrößen bis auf den dritten Wert an.
  • Wie viele Personen sind kleiner als ?
  • Erzeugen Sie einen Vektor, dessen -te Komponente , letzte Komponenten ist und der Abstand der Komponenten soll sein.

Funktionen definieren[Bearbeiten]

In R können Sie Funktionen selbst definieren. Dafür benötigt die Funktion einen Namen, dem sie zugeordnet wird, benötigte Eingabewerte müssen definiert werden, ebenso wie die Anweisung(en), die durchgeführt werden soll(en). Abschließend wird zumeist mit "return()" angegeben, welche Werte auszugeben sind. Der Befehl "funktion()" wird dabei dem Namen zugeordnet. Das nachfolgende Beispiel zeigt eine Funktion, welche den Flächeninhalt eine Kugel mit den Radius als Eingabewert ausgibt.

 kugeloberfl<-function(r){
oberfl<-4*pi*r^2
return(oberfl)} 

Aufgabe[Bearbeiten]

Funktionen[Bearbeiten]

Erstellen Sie eine Funktion, die die Funktionswerte der Funktion ausgibt. Und bestimmen Sie sowie .

Logische Operatoren[Bearbeiten]

Die folgenden bekannten Operatoren sind wie folgt darzustellen:

 == gleich 
 =! ungleich 
 <  kleiner 
 >  größer 
 < = kleiner gleich 
 > = größer gleich 

Aussagenlogische Operatoren[Bearbeiten]

Die folgenden bekannten aussagenlogischen Operatoren sind wie folgt darzustellen:

 &  und 
 |  oder 
 !  nicht 

Kontrollstrukturen[Bearbeiten]

Wie bereits in Maxima gibt es auch in R verschiedene Kotrollstrukturen, welche genutzt werden können, wie zum Beispiel die if- und schwitch-Befehle sowie die for- und while-Schleife. Ausführliche Informationen zu den Schleifen und dem if-Befehl finden Sie im Kapitel zu Maxima.

If-Befehl[Bearbeiten]

Für den If-Befehl "if(){}else{}" steht in der ersten Klammer die Bedingung, welche abgeprüft wird, in der ersten geschweiften Klammer die Anweisung(en) für den Fall, dass die Bedingung erfüllt ist und in der zweiten geschweiften Klammer analog die Anweisung(en) für den Fall, dass die Bedingung nicht erfüllt ist. Im nachfolgenden Beispiel wird ein if-Befehl dargestellt, der prüft, ob das Produkt der Zahlen und positiv ist.

a<-7
b<-9
if((a < 0 & b < 0)|(a > 0 & b > 0))
{tex<-paste("Das Produkt von", a, "und", b, "ist positiv.")
      cat(tex)} 
else 
{tex<-paste("Das Produkt von", a, "und", b, "ist nicht positiv.")
cat(tex)}

Der "cat()"-Befehl gibt den Ausdruck aus und hat damit die gleiche Funktion wie "print()", jedoch werden weniger Konvertierung, also weniger Rechenausfwand benötigt.

Switch-Befehl[Bearbeiten]

Der switch-Befehl "switch()" überprüft die Inhalte einer Liste auf eine Bedingung hin und gibt dann die Werte aus, die die Bedingung erfüllen. Im Beispiel wird die nach Auswahl stehende Liste h auf das Kriterium im Vektor Auswahl hin überprüft und als Vektor (hier mit nur einem Argument) ausgegeben.

Auswahl<-"Sonne"
 h<-switch(Auswahl, Sonne="Sonnencreme", Regen="Regenschirm", Schnee="Schlitten")

For-Schleife[Bearbeiten]

Bei der For-Schleife "for(){}" wird in der runden Klammer zuerst eine Laufvariable definiert sowie die zugehörige Menge, welche sie durchläuft und in der geschweiften Klammer folgt(en) wie schon zuvor die Anweisung(en), welche für alle Elemente der Menge durchlaufen werden. Im Nachfolgenden wird für die Zahlen aus der Menge das Produkt mit der Zahl gebildet und dieses dann als neues definiert.

n<-7
a<-1
for(i in 1:n){a<-a*i}

While-Schleife[Bearbeiten]

In While-Schleifen der Form "while(){}" steht in den runden Klammern die Bedingung, für welche die Anweisung(en) in der geschweiften Klammer ausgeführt werden soll(en). Im Nachfolgenden wird die gleiche Berechnung wie für die For-Schleife durchgeführt.

t<-1
while(t<=n){a<-a*t
    t<-t+1
    }

Aufgaben[Bearbeiten]

If-Bedingung[Bearbeiten]

Erstellen Sie zwei Vektoren mit numerischen Komponenten und lassen Sie den längeren auf der Konsole ausgeben.

For-Schleife in Funktion[Bearbeiten]

Erstellen Sie eine Funktion, welche bei Eingabe eines Vektors den Vektor in umgekehrter Reihenfolge zurückgibt.
Hinweis: Beachten Sie die Rahmenbedingungen des resultierenden Vektors.

For-Schleife[Bearbeiten]

Erstellen Sie eine Funktion, die bei Eingabe einer Anzahl die ersten Fibonacci-Zahlen berechnet, als Vektor abspeichert und diesen ausgibt.

Matrizen[Bearbeiten]

Matrizen sind in R zweidimensionale Objekte bestehend aus Zeilen und Spalten. Die einzelnen Einträge müssen jedoch nicht zwingend nummerische Werte enthalten - alle Datentypen sind als Einträge möglich, jedoch sind alle einträge gleichen Types.

Erzeugen von Matrizen I[Bearbeiten]

m0<-matrix(data=NA, nrow=1,ncol=1,byrow=FALSE)

Erzeugt eine Matrix mit einer Zeile und einer Spalte, also einem Eintrag. Dieser ist NA - not available, also ein fehlender Eintrag.

v<-seq(1,21)
m<-matrix(v,7,3)

erzeugt eine Matrix mit Zeilen und Spalten. Die Einträge sind dabei die Einträge des Vektors spaltenweise aufgelistet. Mit der obigen Option "byrow=FALSE" erfolgt die Listung zeilenweise.

m2<-diag(x=7,nrow=5)

gibt eine -Diagonalmatrix mit den Einträgen auf der Diagonalen aus.

Erzeugen von Matrizen II[Bearbeiten]

m3<-diag(x=7,nrow=8, ncol=5)

gibt eine Matrix aus, für welche und sind.

m4<-rbind(diag(3),(1:3),(4:6))

verbindet die -Diagonalmatrix mit den Diagonaleinträgen 1 mit den beiden Zeilenvektoren zeilenweise (r für row - Zeile).

m5<-cbind(diag(3),(1:3),(4:6))

verbindet analog die -Diagonalmatrix mit den Diagonaleinträgen 1 mit den beiden Spaltenvektoren spaltenweise (c für colmn - Spalte).

Zugriff auf Matrizenkomponenten I[Bearbeiten]

m[1,3]

gibt den Eintrag der ersten Zeile und dritten Komponente aus.

m[4,]

gibt alle Einträge der vierten Zeile an.

m[,3]

gibt alle einträge der dritten Spalte an.

m[,(2:3)]

gibt alle Einträge von der zweiten bis zur dritten Spalte an.

m[1,3]<-7

ersetzt den Eintrag in der ersten Zeile und dritten Spalte mit .

Zugriff auf Matrizenkomponenten II[Bearbeiten]

m[4,]<-c(1,2,3)

ersetzt die vierte Zeile mit dem Vektor .

dim(m)

gibt die Dimension der Matrix aus.

length(m)

gibt die Länge der Matrix, hier entspricht diese der Anzahl der Einträge, an.

rowSums(m)

gibt die Summen der einzelnen Zeilen aus.

Attribut-Namen I[Bearbeiten]

myvec<-c(12,170,1)

erzeugt einen Vektor mit den dargestellten Daten. Diesen Daten werden die Namen aus dem nachfolgenden Vektor zugeordnet. Es wird sozusagen eine Tabelle mit den Spaltenbezeichnungen "Alter", "Größe", "Sportnote" und einer Zeile erstellt.

names(myvec)<-c("Alter","Groesse","Sportnote")

Der nachfolgende Befehl

myvec

stellt diesen Vektor dar.

Attribut-Namen II[Bearbeiten]

myvec["Sportnote"]

gibt den Eintrag (bei mehreren Zeilen die Einträge) der Spalte "Sportnote" aus (analog zur Ausgabe von Matrizen wie "m[,3]").

Die Befehle

rownames(m)<-c(1,2,3,4,5,6,7)
colnames(m)<-c("Elefant","Esel","Affe")

ordnen der Matrix die Zeilennamen und die Spaltennamen "Elefant", "Esel" und "Affe" zu.

mean(m[,"Elefant"])

bestimmt das arithmetische Mittel über die Werte der Spalte "Elefant".

Aufgabe[Bearbeiten]

Matrix[Bearbeiten]

  1. Bilden Sie aus dem Vektor Matrizen verschiedener Dimensionen. Was passiert, wenn das Produkt von Zeilen- und Spaltenanzahl ungleich ist?
  2. Erstellen Sie eine -Matrix, deren Einträge der Würfelsumme beim zweifachen Würfeln entsprechen.
  3. Erstellen Sie eine -Matrix, deren ersten Komponenten einer Diagonalmatrix entsprechen, auf den Diagonalen steht , die Zeilen enthalten die ganzen Zahlen von aufwärts.
  4. Ersetzen Sie die erste Zeile dieser Matrix mit dem Vektor .
    1. Berechnen Sie die Zeilensummen dieser Matrix.
    2. Finden Sie heraus, mit welchem Befehl Matrizen multipliziert werden und multiplizieren Sie die Matrix aus der zweiten Aufgabe mit sich selbst.

Lagemaße[Bearbeiten]

x<-c(1,2,2,4,6)
mean(x)

gibt das arithmetische Mittel des Vektors von obendrüber an.

median(x)

gibt den Median Median über den Vektor aus.

Aufgabe[Bearbeiten]

Datendarstellung[Bearbeiten]

Bilden Sie eine Matrix zur Speicherung von Grösse (Groesse), getrunkene Flüssigkeitsmenge (Trinkm), und zurückgelegter Strecke (str) von fünf Testpersonen. Konstruieren Sie die Daten selbst und benennen Sie die Zeilen und Spalten. Bestimmen Sie abschließend Mittelwert und Median.

Darstellung von Daten I[Bearbeiten]

Die Vektoren "note" und "anzahl" geben die Notenverteilung bei einer Klassenarbeit an. Diese können auf unterschiedliche Arten in Abbildungen dargestellt werden.

note<-c(1,2,3,4,5,6)
anzahl<-c(3,4,7,9,8,5)
barplot(anzahl,names.arg = note)

erstellt ein Säulendiagramm, wobei die Säulenhöhe den Werten im Vektor "anzahl" entspricht. "names.arg" gibt die Bezeichnungen der einzelnen Säulen an.

Darstellung von Daten II[Bearbeiten]

pie(anzahl,note)

erzeugt ein Kreisdiagramm, wobei das erste Argument proportional zum Winkel der Kreissegmente ist und das zweite Argument die Bezeichnung ist.

x<-c(1,1,1,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,6,6,6,6,6)
b<-c(1,2,3,4,5,6)
hist(x,breaks = b)

gibt ein Histogramm über die Daten im Vektor und den Klassengrenzen im Vektor .

Darstellung von Daten III[Bearbeiten]

Zum Bestimmen von Quantillen wird der Befehl "quantil()" verwendet, wobei zuerst der Vektor mit den Daten eingelesen wird und dann folgt das (hier und aus dem obigen Histogramm).

quantile(x,0.4)

Mithilfe von Quantillen können Box-Plots erstellt werden. Hierfür ist lediglich die eingabe das Datenvektors notwendig:

boxplot(x)

Aufgaben[Bearbeiten]

Deskriptive Statistik[Bearbeiten]

Erzeugen Sie einen Vektor der Länge mit Einträgen zwischen und .

  1. Erzeugen Sie ein Balkendiagramm, ein Kreisdiagramm und ein Histogramm.
  2. Berechnen Sie die Anzahl der Werte die größer als und kleiner als sind.

Boxplot und Quantile[Bearbeiten]

Bestimmen Sie das -Quantil, -Quantil und -Quantil der Stichprobe aus der vorigen Aufgabe. Bestimmen Sie Mittelwert und Median wenn die obigen Quantile nicht berücksichtigt werden. Erstellen Sie für jede resultierende gekürzte Stichprobe einen Boxplot.

Faktoren I[Bearbeiten]

Ein weiterer Datentyp, mit dem zum Beispiel qualitative Daten dargestellt werden können, ist "factor()". Der Befehl beinhaltet zum Einen den Datenvektor und zum Anderen die Klassen (levels), welche auch als Vektor eingegeben werden und geordnet sein können (ordered = TRUE) oder nicht (ordered=FALSE):

myfac1<-factor(c("blau","blau","braun","braun","grün"),levels=c("blau","braun","grau","grün"), ordered=FALSE)

erzeugt einen Faktor mit den Daten verschiedener Augenfarben und den Klassen blau, braun, grau und grün in ungeordneter Reihenfolge.

levels(myfac1)

gibt die Klassen des Fakors aus.

Faktoren II[Bearbeiten]

tabulate(myfac1)

gibt die Häufigkeit der einzelnen Klassen in der Reihenfolge aus, wie sie im levels-Vektor stehen.

summary(myfac1)

gibt eine Tabelle mit der Häufigkeit der Klassen aus.

Einlesen von Daten[Bearbeiten]

Daten (z.B. aus statistischen Erhebungen) können in Matrizen dargestellt werden. Dabei müssen innerhalb der Spalten die gleichem Modi vorliegen, sie können sich jedoch von Spalte zu Spalte unterscheiden. Die Datenbereiche können zum Einen direkt in R eingegeben werden und zum Anderen auch aus anderen Formaten/Dokumenten (z.B. .csv) eingelesen werden.

Dataframe erstellen[Bearbeiten]

Nachfolgend sind die Vektoren Groesse, Trinkm, Strecke und Geschlecht gegeben:

Groesse<-c(175,166,192,180,166)
Trinkm<-c(1.5,2.5,3.5,2.1,2.8)
Strecke<-c(22,10,34,30,24)
Geschlecht<-c("w","m","w","m","w")

Aus diesen wird mit dem Befehl "data.fame()" ein Dataframe erstellt, wobei durch das Argument "stringAsFactors = TRUE" die Werte nichtnummerischen Werte als Faktoren angenommen werden.

df1<-data.frame(Groesse,Trinkm,Strecke,Geschlecht,stringsAsFactors = TRUE)

Mit "df1$Strecke" wird auf den Spaltenvektor Strecke" zugegriffen.

df1$Strecke

Dataframe importieren I[Bearbeiten]

Um einen Datensatz (hier DatenQueichSiebeldingen.csv zu finden auf GitHub) in R einzulesen, muss dieser im Arbeitsverzeichnis des R-Skriptes liegen. Dieses kann mit "getwd()" (Klammer leer lassen) abgerufen werden und mit dem Befehl "setwd("")" ggf. neu gesetzt werden. In den Anführungszeichen in den runden Klammern steht der Dateipfad. Ist das Dokument (z.B. als .csv-Datei) im Arbeitsverzeichnis des R-Skriptes, kann es mit dem Befehl "read.csv()" aufgerufen werden. Es wird der Dateiname (in Anführungszeichen), das Separationssymbol (hier "," - ebenfalls in Anführungszeichen) und das Dezimaltrennzeichen (hier "." - ebenfalls in Anführungszeichen") als Argumente benötigt. Diese können aus dem Dokument entnommen werden.

Dataframe importieren II[Bearbeiten]

queich<-read.csv("DatenQueichSiebeldingen.csv",sep=",", dec=".")

liest die .csv-Datei DatenQueichSiebeldingen mit dem Seperationszeichen , und dem Dezimaltrennzeichen .in als Dataframe mit dem Namen queich ein.
Die einzelnen Spalten können sowohl mit dem Dollarzeichen als auch mit dem Matrizenbefehl zum Spalten abrufen abgerufen werden:

queich$Datum
queich[,"Datum"]

Die Bezeichnungen der Zeilen bzw. Spalten können mit den folgenden Befehlen abgerufen werden:

rownames(queich)
colnames(queich)

Dataframe importieren III[Bearbeiten]

Letzendlich können Sie mit dem Dataframe operieren wie mit einer Matrix, also zum Beispiel den kompletten Dataframe nach den Inahlten einer bestimmten Spalte ordnen (sofern es eine Ordnung gibt)

queich[order(queich$Q..m..s.),]

oder Werte rauslesen, die einem bestimmten Kriterium genügen

x<-subset(queich, Q..m..s. < 0.6)

und entsprechend arithmetische Mittel oder andere statistische Werte bestimmen:

x1<-x$Q..m..s.
mean(x1)

Aufgabe[Bearbeiten]

Dataframe[Bearbeiten]

Verwenden sie wieder die Tabelle "Trinkgeld.ods" (von GitHub) und lesen Sie diese als Dataframe in R ein. Bestimmen Sie dann die arithmetischen Mittelwerte der Trinkgelder jeweils männlicher und weiblicher Kunden.
Verwenden Sie abschließend die folgenden Befehle:

 install.packages("psych") 
 library(psych) 
 describe(dataframe) 

Ordnen Sie nun Ihre Datentabelle nach der Höhe des Trinkgeldes. Lassen Sie sich dann die Datensätze aller weiblichen Probanden ausgeben. Filtern Sie aus den Datensätzen aller Personen diejenigen heraus, die mehr als fünf Dollar Trinkgeld gegeben haben.

Anmerkung I[Bearbeiten]

Abschließend ist zu sagen, dass die meisten R-Befehle noch deutlich mehr Argumente und Optionen besitzen, als hier in diesem Skript aufgeführt. Es hätte jedoch den Rahmen dieses Skriptes gesprengt und die Details sind über die Hilfefunktion abrufbar.

Anmerkung II[Bearbeiten]

R Markdown bietet die Möglichkeit (ebenso wie Sweave), in R dynamische PDF-Dokumente in HTML-Code zu schreiben. Insbesondere bei einer Änderung der Daten können mit einem einfachen Neukompilieren alle Rechnungen/Befehle aktualisiert werden. Tutorials und Ähnliches finden Sie auf der obigen Homepage.

Literatur/Quellennachweise[Bearbeiten]

Weiterführende Literatur: GNU R Wikibook Tutoriels für R Markdown, LearnR


Siehe auch[Bearbeiten]

Seiteninformation[Bearbeiten]

Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.

Wiki2Reveal[Bearbeiten]

Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Kurs:PC-Praktikum' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.