Skip to content

Commit 1e4962e

Browse files
authored
Merge pull request #62 from paul-pap/patch-1
Update dataframes.Rmd - Tippfehler
2 parents 23c87c3 + f77a663 commit 1e4962e

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

inst/tutorials/2c_dataframes/dataframes.Rmd

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Im laufe des Tutorials wirst du...
5151

5252
## Einführung in Data Frames
5353

54-
Im Tutorial "Vektoren" hast du bereits gelernt, dass Vektoren Variablen darstellen und mehrere Werte enthalten können. Im folgenden lernst du, wie du mehrere Vektoren in einer Tabelle (einem Data Frame) zusammenbringen kannst.
54+
Im Tutorial "Vektoren" hast du bereits gelernt, dass Vektoren Variablen darstellen und mehrere Werte enthalten können. Im Folgenden lernst du, wie du mehrere Vektoren in einer Tabelle (einem Data Frame) zusammenbringen kannst.
5555

5656
Einmal vorweg ein Beispiel für dich, wie ein Data Frame erstellt wird:
5757

@@ -80,13 +80,13 @@ Neue Funktion: `data.frame()` Erstellt aus einzelnen *gleichlangen* Vektoren ein
8080

8181
In der Praxis wirst du zur Dateneingabe ein grafisches Programm wie Excel verwenden, und die fertige Tabelle dann für die Verwendung mit R importieren. Das wirst du im nächsten Tutorial "Datenimport" lernen.
8282

83-
Wenn im Folgenden immer wieder kleine Data Frames aus Vektoren erstellt werden, dient das nur dazu, Beispiele zu konstruieren um den Umgang zu erlernen, aber nicht weil das die übliche Methode ist, wie Daten in R eingegeben werden.
83+
Wenn im Folgenden immer wieder kleine Data Frames aus Vektoren erstellt werden, dient das nur dazu, Beispiele zu konstruieren, um den Umgang zu erlernen, aber nicht weil das die übliche Methode ist, wie Daten in R eingegeben werden.
8484
:::
8585

8686
### Prinzip
8787

8888
::: blau-nb
89-
Die Idee eines Data Frames ist es, einen Haufen Vektoren gleicher Länge zu nehmen und damit eine Tabelle zu bauen. Dabei ist **jede Spalte ein Vektor**. Anders ausgedrückt: jede Spalte ist eine Variable.
89+
Die Idee eines Data Frames ist es, einen Haufen Vektoren gleicher Länge zu nehmen und damit eine Tabelle zu bauen. Dabei ist **jede Spalte ein Vektor**. Anders ausgedrückt: Jede Spalte ist eine Variable.
9090
:::
9191

9292
</br>
@@ -148,7 +148,7 @@ Eine Konvention für Data Frames ist es diesen als `df` abzukürzen. Da wir jedo
148148

149149
Hast du im Tutorial "Vektoren" gut aufgepasst?
150150

151-
Eigentlich hast du eben gelernt, alle Vektoren müssen gleich lang sein um einen Data Frame zu erstellen. Warum funktioniert es oben trotzdem, obwohl Vektor `z` nur Länge 1 hat und nicht ebenfalls 4?
151+
Eigentlich hast du eben gelernt, alle Vektoren müssen gleich lang sein, um einen Data Frame zu erstellen. Warum funktioniert es oben trotzdem, obwohl Vektor `z` nur Länge 1 hat und nicht ebenfalls 4?
152152

153153
```{r recyc-quiz, echo = FALSE}
154154
learnr::question_radio(
@@ -181,7 +181,7 @@ Fangen wir mit dem Prinzip von Matrizen an.
181181

182182
### Die Matrix
183183

184-
Die Matrix ist dir vielleicht noch ein Begriff aus der Filmwelt und hoffentlich auch aus dem Matheunterricht. Simple gesprochen ist sie eine zweidimensionale Datenstruktur mit Spalten und Zeilen. Sie kann Zahlen oder Text enthalten. Aber keine Angst, wir werden hier keine Matrizen multiplizieren oder Gleichungen nach X aufgelösen.
184+
Die Matrix ist dir vielleicht noch ein Begriff aus der Filmwelt und hoffentlich auch aus dem Matheunterricht. Simpel gesprochen ist sie eine zweidimensionale Datenstruktur mit Spalten und Zeilen. Sie kann Zahlen oder Text enthalten. Aber keine Angst, wir werden hier keine Matrizen multiplizieren oder Gleichungen nach X auflösen.
185185

186186
![](images/matrix.png){width="80%"}
187187

@@ -202,7 +202,7 @@ wg_matrix <- matrix(c(x,y,z), nrow = length(x))
202202
wg_matrix
203203
```
204204

205-
Zur Veranschaulichung bleiben wir bei dem WG Beispiel. Als Matrix dargestellt bekommen wir den obrigen Output. Vielleicht kommen dir die eckigen Klammern bekannt vor, was meinst du können wir damit machen?
205+
Zur Veranschaulichung bleiben wir bei dem WG Beispiel. Als Matrix dargestellt, bekommen wir den obrigen Output. Vielleicht kommen dir die eckigen Klammern bekannt vor, was meinst du können wir damit machen?
206206

207207
```{r matrix-quiz, echo = FALSE}
208208
learnr::question_checkbox(
@@ -309,16 +309,16 @@ wg_list <- list(x,y,z)
309309
wg_list # unsere Liste
310310
```
311311

312-
Du siehst die Variablen (Spalten) bekommen doppelte eckige Klammern und die Einträge (Zeilen) einfache eckige Klammern. Wenn wir so auf eine Variable zugreifen wollen wird es schnell unübersichtlich. Wollen wir z.B. auf den Jahrgang von Amadou zugreifen wäre das `wg_list[[2]][1]`.
312+
Du siehst die Variablen (Spalten) bekommen doppelte eckige Klammern und die Einträge (Zeilen) einfache eckige Klammern. Wenn wir so auf eine Variable zugreifen wollen, wird es schnell unübersichtlich. Wollen wir z.B. auf den Jahrgang von Amadou zugreifen wäre das `wg_list[[2]][1]`.
313313

314-
Probiere es gerne mal aus:
314+
Probiere es gerne einmal aus:
315315

316316
```{r liste2, exercise = TRUE, exercise.setup="liste1", exercise.caption = "Beispiel: Erstellen einer Matrix"}
317317
# ersetze die "Spalte" und "Zeile", um das Prinzip zu verstehen
318318
wg_list[[Spalte]][Zeile]
319319
```
320320

321-
Wie gesagt, ist dies etwas mühsam. Listen können jedoch viel mehr! Sie erlauben die Benutzung eines speziellen Operators zur Indizierung: Der `$`- Operator. Er ist speziell für das Indizieren bei benannten Listen gedacht. Hat eine Tabelle überschriften so können diese übernommen werden, für unsere Vektoren müssen wir jedoch erneut auf die explizite Namensgebung zurückgreifen.
321+
Wie gesagt: Dies ist etwas mühsam. Listen können jedoch viel mehr! Sie erlauben die Benutzung eines speziellen Operators zur Indizierung: Der `$`- Operator. Er ist speziell für das Indizieren bei benannten Listen gedacht. Hat eine Tabelle Überschriften so können diese übernommen werden. Für unsere Vektoren müssen wir jedoch erneut auf die explizite Namensgebung zurückgreifen.
322322

323323
Jetzt bist du dran! Erinnerst du dich noch wie die Namensgebung in R funktioniert?
324324

@@ -358,7 +358,7 @@ wg_liste
358358

359359
In der Ausgabe solltest du jetzt also sehen, dass sich die `[[1]]`,`[[2]]` und `[[3]]` respektive in `$name`, `$jahrgang` und `$grundpreis` gewandelt haben.
360360

361-
Wollen wir jetzt auf einen Eintrag in der Liste zugreifen können wir dies ganz bequem über den `$`- Operator, ganz ohne eckige Klammern. Es verhält sich dann wieder so als wäre es nur ein einzelner Vektor
361+
Wollen wir jetzt auf einen Eintrag in der Liste zugreifen, können wir dies ganz bequem über den `$`- Operator, ganz ohne eckige Klammern. Es verhält sich dann wieder so, als wäre es nur ein einzelner Vektor.
362362

363363
```{r dollarsign1, exercise = TRUE, exercise.setup = "listennamen-solution"}
364364
wg_liste$name
@@ -475,7 +475,7 @@ wg_df[,4] # qm ist das vierte Element der Zeilen
475475
wg_df[2,4] # Mira ist das zweite Element der Spalten
476476
```
477477

478-
Das sollte geklappt haben. Aber was wenn unser Data Frame noch viel mehr Elemente hat? Dann wird es schwieriger nachzuvollziehen, an welcher Stelle das Element unserer Wahl liegt. Dafür eignet sich daher das List Subsetting besser.
478+
Das sollte geklappt haben. Aber was, wenn unser Data Frame noch viel mehr Elemente hat? Dann wird es schwieriger nachzuvollziehen, an welcher Stelle das Element unserer Wahl liegt. Dafür eignet sich daher das List Subsetting besser.
479479

480480
##### List Subsetting
481481

@@ -524,7 +524,7 @@ learnr::question_checkbox(
524524

525525
##### Subsetting Zusammenfassung
526526

527-
Fassen wir nochmal graphisch zusammen, um die Stärken und Schwächen der beiden Subsetting Arten zu verstehen:
527+
Fassen wir nochmal grafisch zusammen, um die Stärken und Schwächen der beiden Subsetting Arten zu verstehen:
528528

529529
![](images/matrix_subsetting.PNG){width="25%"}
530530

@@ -576,7 +576,7 @@ nrow(wg_df)
576576

577577
Wenn alles geklappt hat, hast du jetzt rausgefunden: 1) wie viele **Zeilen** der Data Frame hat 2) wie viele **Spalten** der Data Frame hat 3) hast dir in einem Vektor **Zeilen** und **Spaltenzahl** ausgeben lassen
578578

579-
"Wofür brauchen wir das?" - Wenn wir später mit unseren eigenen Daten arbeiten können wir so schnell sehen, wie viele Versuchspersonen oder Beobachtungen wir erhoben haben und wie viele Variablen wir haben. Wenn du gut aufgepasst hast, kannst du im Quizz dein Wissen testen:
579+
"Wofür brauchen wir das?" - Wenn wir später mit unseren eigenen Daten arbeiten, können wir so schnell sehen, wie viele Versuchspersonen oder Beobachtungen wir erhoben haben und wie viele Variablen wir haben. Wenn du gut aufgepasst hast, kannst du im Quiz dein Wissen testen:
580580

581581
```{r dimension-quiz, echo = FALSE}
582582
learnr::question_checkbox(
@@ -601,7 +601,7 @@ Merke: mit `dim()` kannst du dir die Dimensionen deines Data Frames anzeigen las
601601

602602
Manchmal möchtest du weitere Variablen (Spalten) oder auch Beobachtungen (Zeilen) zu einem bestehenden Data Frame hinzufügen. Dafür gibt es die zwei nützlichen Befehle `cbind()`n und `rbind()`.
603603

604-
Was diese tun kannst du aus dieser Abbildung schließen:
604+
Was diese tun, kannst du aus dieser Abbildung schließen:
605605

606606
![](images/cbind.PNG){width="40%"}
607607

@@ -628,9 +628,9 @@ Vorsicht! Denk dran, dass Data Frames nur Variablen gleicher Länge aufnehmen k
628628
Du bist dran!
629629

630630
::: aufgabe
631-
Die Wg wurde renoviert und hat ein Zimmer mehr zur Verfügung. Bei dem heutigen Mietmarkt dauert es auch nicht lang und ein neues WG Mitglied zieht ein. Von der Bewerbung und mittels eurer Unterlagen hast du folgende Daten die hinzugefügt werden müssen: - `Fin`, wurde `1992` geboren, hat `kein Haustier` - das Zimmer ist `13qm` groß und `hat einen Balkon` - die Grundmiete ist weiterhin `5.23`
631+
Die Wg wurde renoviert und hat ein Zimmer mehr zur Verfügung. Bei dem heutigen Mietmarkt dauert es auch nicht lang und ein neues WG Mitglied zieht ein. Von der Bewerbung und mittels eurer Unterlagen hast du folgende Daten, die hinzugefügt werden müssen: - `Fin`, wurde `1992` geboren, hat `kein Haustier` - das Zimmer ist `13qm` groß und `hat einen Balkon` - die Grundmiete ist weiterhin `5.23`
632632

633-
Lasse dir `wg_df` danach anzeigen, um zu überprüfen ob das neue WG Mitglied da ist.
633+
Lasse dir `wg_df` danach anzeigen, um zu überprüfen, ob das neue WG Mitglied da ist.
634634
:::
635635

636636
```{r rbind, exercise = TRUE, exercise.setup = "cbind", exercise.caption = "Neues Mitglied"}

0 commit comments

Comments
 (0)