Daten kennenlernen und plotten
RStudio verwenden
Für die Zwecke dieses Tutorials verwenden wir RStudio. RStudio is eine ‘Public Benefit Corporation (PBC)’. RStudios Mission ist es, kostenlose Open-Source-Software für Datenwissenschaft, wissenschaftliche Forschung und technische Kommunikation zu erstellen. Das Projekt bietet kostenlose und offene Tools für Teams, die sowohl R als auch andere Programmiersprachen verwenden, um ihre Arbeit zu skalieren und zu teilen.
Mit RStudio-Projekten (.RProj) können Sie Ihre Arbeit auf einfache Weise in mehrere Kontexte mit jeweils eigenem Arbeitsverzeichnis, Arbeitsbereich, Verlauf und Quelldokumenten unterteilen.
RStudio-Projekte sind R-Arbeitsverzeichnissen zugeordnet. Sie können ein RStudio-Projekt erstellen:
- In einem brandneuen Verzeichnis
- In einem vorhandenen Verzeichnis, in dem Sie bereits R-Code und Daten haben
Um ein neues Projekt zu erstellen, verwenden Sie den Befehl ‘Projekt erstellen’
Dies ist im Menü “Projekte” und in der globalen Symbolleiste verfügbar:
Durch das Öffnen eines neuen Projekts in RStudio wird eine Projektdatei (mit der Erweiterung .Rproj) im Projektverzeichnis erstellt. Diese Datei kann später als Verknüpfung zum direkten Öffnen des Projekts verwendet werden (durch Doppelklick).
Tomatenproduktiondaten
Die Daten, die wir in den folgenden Beispielen verwenden werden, beziehen sich auf die Tomatenproduktion unter verschiedenen Gewächshausglas-, Stress- und anderen Kontroll- und Behandlungsbedingungen. Sie finden diese Daten in hier und in unserem gemeinsamen Ordner.
Die Daten werden in eine Kalkulationstabelle aufgezeichnet. Um dies in R zu verwenden, mussten wir einige Dinge ändern, es dürfen z.B. keine leeren Zellen dazwischen sein, (muss mit NA = not available aufgefüllt werden) und die Variablennamen (= Spaltenbeschriftungen) dürfen keine Leerzeichen haben. Um das Einlesen in die Programmiersprache R zu vereinfachen, können wir die Tabelle als CSV-Datei ‘comma separated values’ speichern.
- Einlesen der Daten ‘comma separated values’ Daten mit der R-Funktion
read.csv()
tomaten_daten <- read.csv("data/Tomaten.csv")
Beachten Sie bei der Verwendung von R Studio Folgendes:
- Behalten Sie Ihre Daten in derselben Ordnerstruktur wie die .RProj-Datei
- auf oder unter der Ebene der .RProj-Datei
Hier haben wir die Datei in einem Unterordner namens ‘data’ gespeichert. Wenn Sie die Daten auf derselben Ebene wie die .Rproj-Datei haben, rufen Sie einfach tomaten_daten <- read.csv("Tomaten.csv")
auf, um die Daten zu laden.
Datenstruktur verstehen
Lernen Sie die Struktur Ihrer Daten mit folgenden Funktionen kennen:
summary()
zeigt eine allgemeine Zusammenfassung aller Daten an
summary(tomaten_daten)
## Datum Zeitpunkt Haus Bedachung
## 10/1/2018 : 96 Min. : 1.000 Min. :1.000 ETFE-Folie:285
## 10/15/2018: 96 1st Qu.: 3.000 1st Qu.:2.000 Floatglas :292
## 10/22/2018: 96 Median : 5.000 Median :4.000 Solarglas :288
## 10/29/2018: 96 Mean : 5.089 Mean :3.504
## 10/8/2018 : 96 3rd Qu.: 7.000 3rd Qu.:5.000
## 11/5/2018 : 96 Max. :10.000 Max. :6.000
## (Other) :289
## Pflanzen.Nr Veredelung Salzstress Trieblänge Anzahl_Blätter
## Min. : 1.00 mit :434 mit :431 Min. : 0.0 Min. : 0.00
## 1st Qu.:25.00 ohne:431 ohne:434 1st Qu.: 80.0 1st Qu.:15.00
## Median :49.00 Median :104.0 Median :19.00
## Mean :48.55 Mean :106.4 Mean :19.62
## 3rd Qu.:72.00 3rd Qu.:130.0 3rd Qu.:24.00
## Max. :96.00 Max. :196.0 Max. :36.00
##
## Anzahl_Blütenstände Anzahl_grüne_Früchte Anzahl_rote_Früchte
## Min. : 0.000 Min. : 0.00 Min. : 0.000
## 1st Qu.: 3.000 1st Qu.: 2.00 1st Qu.: 0.000
## Median : 4.000 Median : 7.00 Median : 0.000
## Mean : 4.467 Mean :11.14 Mean : 1.029
## 3rd Qu.: 6.000 3rd Qu.:17.00 3rd Qu.: 0.000
## Max. :36.000 Max. :58.00 Max. :15.000
##
## Anzahl_Blütenendfäule Anzahl_geerntete_Früchte Gewicht_Trieb Gewicht_Blätter
## Min. : 0.000 Min. : 0.000 Min. : 0.0 Min. : 0
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.:235.0 1st Qu.: 820
## Median : 1.000 Median : 0.000 Median :368.0 Median :1237
## Mean : 3.042 Mean : 0.341 Mean :328.6 Mean :1077
## 3rd Qu.: 5.000 3rd Qu.: 0.000 3rd Qu.:428.0 3rd Qu.:1418
## Max. :17.000 Max. :10.000 Max. :579.0 Max. :1783
## NA's :768 NA's :768
## Gewicht_grüne_Früchte Gewicht_rote_Früchte Gewicht_Blütenendfäule
## Min. : 0.0 Min. : 0.0 Min. : 0.00
## 1st Qu.: 365.0 1st Qu.: 0.0 1st Qu.: 0.00
## Median : 688.0 Median : 0.0 Median : 0.00
## Mean : 633.2 Mean : 18.9 Mean : 21.93
## 3rd Qu.: 964.0 3rd Qu.: 0.0 3rd Qu.: 28.00
## Max. :1222.0 Max. :312.0 Max. :221.00
## NA's :768 NA's :768 NA's :768
str()
ist eine kompakte Alternative zur summary()
, um den abgekürzten Inhalt Ihrer Daten anzuzeigen
str(tomaten_daten)
## 'data.frame': 865 obs. of 19 variables:
## $ Datum : Factor w/ 10 levels "10/1/2018","10/15/2018",..: 9 9 9 9 9 9 9 9 9 9 ...
## $ Zeitpunkt : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Haus : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Bedachung : Factor w/ 3 levels "ETFE-Folie","Floatglas",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ Pflanzen.Nr : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Veredelung : Factor w/ 2 levels "mit","ohne": 2 2 2 2 1 1 1 1 1 1 ...
## $ Salzstress : Factor w/ 2 levels "mit","ohne": 2 2 2 2 2 2 2 2 1 1 ...
## $ Trieblänge : num 63 53 53 56 51 50 57 58 52 47 ...
## $ Anzahl_Blätter : int 13 13 11 12 12 11 12 13 11 9 ...
## $ Anzahl_Blütenstände : int 4 4 3 3 3 3 4 3 3 4 ...
## $ Anzahl_grüne_Früchte : int 1 3 0 2 0 0 1 0 0 0 ...
## $ Anzahl_rote_Früchte : int 0 0 0 0 0 0 0 0 0 0 ...
## $ Anzahl_Blütenendfäule : int 0 0 0 0 0 0 0 0 0 0 ...
## $ Anzahl_geerntete_Früchte: int 0 0 0 0 0 0 0 0 0 0 ...
## $ Gewicht_Trieb : int NA NA NA NA NA NA NA NA NA NA ...
## $ Gewicht_Blätter : int NA NA NA NA NA NA NA NA NA NA ...
## $ Gewicht_grüne_Früchte : int NA NA NA NA NA NA NA NA NA NA ...
## $ Gewicht_rote_Früchte : int NA NA NA NA NA NA NA NA NA NA ...
## $ Gewicht_Blütenendfäule : int NA NA NA NA NA NA NA NA NA NA ...
head()
zeigt den Anfang Ihrer Daten an. Dies kann nützlich sein, wenn Sie nur schnell überprüfen möchten, ob die Formatierung Ihren Erwartungen entspricht.
head(tomaten_daten)
## Datum Zeitpunkt Haus Bedachung Pflanzen.Nr Veredelung Salzstress
## 1 9/17/2018 1 1 Floatglas 1 ohne ohne
## 2 9/17/2018 1 1 Floatglas 2 ohne ohne
## 3 9/17/2018 1 1 Floatglas 3 ohne ohne
## 4 9/17/2018 1 1 Floatglas 4 ohne ohne
## 5 9/17/2018 1 1 Floatglas 5 mit ohne
## 6 9/17/2018 1 1 Floatglas 6 mit ohne
## Trieblänge Anzahl_Blätter Anzahl_Blütenstände Anzahl_grüne_Früchte
## 1 63 13 4 1
## 2 53 13 4 3
## 3 53 11 3 0
## 4 56 12 3 2
## 5 51 12 3 0
## 6 50 11 3 0
## Anzahl_rote_Früchte Anzahl_Blütenendfäule Anzahl_geerntete_Früchte
## 1 0 0 0
## 2 0 0 0
## 3 0 0 0
## 4 0 0 0
## 5 0 0 0
## 6 0 0 0
## Gewicht_Trieb Gewicht_Blätter Gewicht_grüne_Früchte Gewicht_rote_Früchte
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## Gewicht_Blütenendfäule
## 1 NA
## 2 NA
## 3 NA
## 4 NA
## 5 NA
## 6 NA
tail()
macht das gegenteil tail(tomaten_daten)
.
Um Ihre Daten direkt in Tabellenform anzuzeigen, können Sie die Funktion View()
verwenden oder Ihr Objekt in Workspace
von RStudio finden (oben rechsts in RStudio).
Plotten
Grafiken können eine gute Möglichkeit sein, Datensätze darzustellen. Sie sind eine visuelle Darstellung der Beziehung zwischen Variablen, die oft leichter zu verstehen sind als Listen oder Wertetabellen. Sie zeigen normalerweise die Beziehung zwischen zwei oder mehr Variablen. Zum Glück gibt es in R benutzerfreundliche Optionen zum Zeichnen von Datengrafiken.
Erstellen eines Barplots in Basis R
R verfügt über mehrere Systeme zum Erstellen von Diagrammen
- Basis R
- Erstellen Sie ein Barplot mit der Funktionen
table()
undbarplot ()
Bedachung <- table(tomaten_daten$Bedachung)
barplot(Bedachung, main="Gewächshausdach",
xlab="Anzahl der Beobachtungen
")
In Base R sind viele andere Diagramme möglich. Im weiteren Verlauf dieses Tutorials werden wir uns mit anderen Optionen zum Zeichnen mithilfe der ‘Grammar of Graphics’ befassen.
‘Grammar of Graphics’ ggplot2: Übersicht
Es gibt viele Funktionen für Diagramme in R
-
ggplot2 ist eines der elegantesten und vielseitigsten.
-
ggplot implementiert die Grammatik der Grafiken, um Grafiken zu beschreiben und zu erstellen.
-
Machen Sie mehr und schneller, indem Sie ein System lernen und es an vielen Stellen anwenden.
Insallieren sie ggplot2 mit der Funktion install.packages
mit install.packages("ggplot2")
dann ggplot2 laden mit der Funktion library()
:
library(ggplot2)
- Weitere Informationen zu ggplot2 finden Sie unter The Layered Grammar of Graphics
Erstellen eines scatterplot in ggplot2
Erstellen eines scatterplot mit ggplot()
, aes()
und geom_point()
funktionen:
ggplot(data = tomaten_daten, aes(x = Zeitpunkt, y = Anzahl_Blätter)) +
geom_point()
Farbe hinzufügen
Farbe hinzufügen in eines scatterplot mit aes()
funktionen color
option:
ggplot(data = tomaten_daten, aes(x = Zeitpunkt, y = Anzahl_Blätter, color = Salzstress)) +
geom_point()