Skip to content
Snippets Groups Projects
Commit 312c4c67 authored by Nikolay Nikolaev's avatar Nikolay Nikolaev
Browse files

Almost ready

parent 667ff43e
No related branches found
No related tags found
1 merge request!1Nikobranch
No preview for this file type
...@@ -7,11 +7,10 @@ runtime: shiny_prerendered ...@@ -7,11 +7,10 @@ runtime: shiny_prerendered
```{r setup, include=FALSE} ```{r setup, include=FALSE}
library(learnr) library(learnr)
library(readxl) library(readxl)
knitr::opts_chunk$set(echo = FALSE)
gameData <- read_excel("bgg_dataset.xlsx", sheet = "Sheet") gameData <- read_excel("bgg_dataset.xlsx", sheet = "Sheet")
knitr::opts_chunk$set(echo = FALSE)
``` ```
## Datenbasis ## Datenbasis
### Datenherkunft ### Datenherkunft
...@@ -57,43 +56,143 @@ Wir formulieren zwei Hypothesen, die wir im "Datenanalyse"-Abschnitt testen werd ...@@ -57,43 +56,143 @@ Wir formulieren zwei Hypothesen, die wir im "Datenanalyse"-Abschnitt testen werd
### Einlesen von Daten ### Einlesen von Daten
*Here's an exercise where the chunk is pre-evaluated via the `exercise.eval` option (so the user can see the default output we'd like them to customize). We also add a "hint" to the correct solution via the chunk immediate below labeled `print-limit-hint`.* Um Datensätze mit R zu analysieren, mussen diese zuerst eingelesen werden. Je nach Struktur
des Datenfiles kommen verschiedene Einlese-Befehle zur Anwendung. Es können u.a. Textfiles
(.txt, .dat), Datenfiles (.csv) und Excel-Files eingelesen werden.
#### XLSX-Dateien in R importieren
In diesem Tutorial benutzen wir eine .xlsx Datei, die wir einlesen müssen. XLSX-Dateien lassen sich aus Excel heraus speichern und sind heutzutage weit verbreitet. Wir lesen hier die Datei "bgg_dataset.xlsx" mit dem Befehl read_excel in den Dataframe data_xlsx ein.
Für diese Aufgabe bietet sich das readxl-Paket an, das am einfachsten mit den folgenden Befehlen installiert und geladen wird:
```{r install-readxl, exercise=TRUE}
install.packages("readxl")
library (readxl)
```
Wie du sehen kannst, ist der Package schonmal installiert und wird verwendet, deswegen lässt R nicht zu, dass es wieder installiert wird.
Wir können unser Datensatz einlesen:
```{r read-data, exercise=TRUE}
gameData <- read_excel("bgg_dataset.xlsx", sheet = "Sheet")
```
Leider funktioniert diese Funktion in diesem Dokument nicht, aber keine Sorge, wir haben Sie im Hintergrund genauso wie hier benutzt.
Wir können jetzt unsere Daten benutzen:
```{r show-data, exercise=TRUE}
gameData
```
Nur eine Spalte aus dem Datensatz lässt sich wie folgt lesen:
```{r read-column, exercise=TRUE}
gameData$`Year Published`
```
You can swap `Year Published` with every column if the set and try it out!
Wie du weitere Dateientypen einlesen und benutzen kannst, findest du in diesem [Tutorial von Björn Walther](https://bjoernwalther.com/daten-in-r-importieren/).
### Leerstellen beheben
Das Beheben von Leerstellen in R Studio erfordert spezifische Schritte, die je nach Art der Daten und der Art der Probleme variieren können.
Modify the following code to limit the number of rows printed to 5: #### In einer bestimmten Spalte:
```{r print-limit, exercise=TRUE, exercise.eval=TRUE} ```{r remove-empties-column, exercise=TRUE}
mtcars gameData$`Year Published` <- trimws(gameData$`Year Published`)
gameData$`Year Published`
``` ```
```{r print-limit-hint} #### In allen Spalten:
head(mtcars)
```{r remove-empties, exercise=TRUE}
gameData <- lapply(gameData, trimws)
gameData
```
In unserem Dataset scheint alles gut zu sein, deswegen haben wir keine Änderungen nach Ausführung den Befehlen.
### Inkonsistenzen beheben
Das Beheben von Leerstellen in R Studio erfordert spezifische Schritte, die je nach Art der Daten und der Art der Probleme variieren können.
#### Standardisierung der Schreibweise:
```{r to-lowercase-column, exercise=TRUE}
gameData$`Mechanics` <- tolower(gameData$`Mechanics`)
gameData$`Mechanics`
``` ```
### Inkonsistenzen und Leerstellen beheben Somit wurden alle String in der "Mechanics"-Spalte zur Lowercase gecastet.
#### Ersetzen von Werten:
```{r replace-variable, exercise=TRUE}
gameData$`Mechanics` <- gsub("Action", "ACTION", gameData$`Mechanics`)
gameData$`Mechanics`
```
*Here's an exercise where the chunk is pre-evaluated via the `exercise.eval` option (so the user can see the default output we'd like them to customize). We also add a "hint" to the correct solution via the chunk immediate below labeled `print-limit-hint`.* Somit haben wir alle "Action" Strings mit "ACTION" ersetzt.
Modify the following code to limit the number of rows printed to 5: #### Behandlung von fehlenden Werten:
### Quiz ```{r replace-missing-variable, exercise=TRUE}
gameData$`Rating Average`[is.na(gameData$`Rating Average`)] <- mean(gameData$`Rating Average`, na.rm = TRUE)
```
*You can include any number of single or multiple choice questions as a quiz. Use the `question` function to define a question and the `quiz` function for grouping multiple questions together.* Dieser Befehl ersetzt fehlende Werte durch der Median der vorhandenen Werten in der Spalte.
Some questions to verify that you understand the purposes of various base and recommended R packages: #### Entfernen von Duplikaten
```{r quiz} ```{r remove-duplicates, exercise=TRUE}
gameData <- unique(gameData)
```
Dieser Befehl entfernt Duplikaten basierend auf allen Spalten.
Wir haben aber in unserem Datensatz keine Duplikaten.
#### Behandlung von Sonderzeichen
```{r replace-special-chars, exercise=TRUE}
gameData$`Mechanics` <- gsub("[^a-zA-Z0-9 ]", "", gameData$`Mechanics`)
```
Dieser Befehl entfernt Sonderzeichen in der Spalte "Mechanics".
Diese Beispiele sind allgemeiner Natur, und Sie sollten sie an Ihre spezifischen Daten und Probleme anpassen. Inkonsistenzen und Leerstellen können in verschiedenen Formen auftreten, und es ist wichtig, die geeigneten Methoden für Ihre speziellen Daten anzuwenden. Beachten Sie auch, dass Datenbereinigung oft datenabhängig ist, und eine gründliche Analyse der Daten ist vor der Bereinigung ratsam.
### Jetzt bist du dran! Teste was du in diesem Abschnitt über Daten einlesen gelernt hast:
```{r second-quiz}
quiz( quiz(
question("Which package contains functions for installing other R packages?", question("Mit welchem R-Befehl lassen sich Packages installieren?",
answer("base"), answer("install.packages()", correct = TRUE),
answer("tools"), answer("add.packages()"),
answer("utils", correct = TRUE), answer("install.library()"),
answer("codetools") answer("install()")
),
question("Mit welchem R-Befehl lassen sich die installierten Packages initialisieren?",
answer("use()"),
answer("library()", correct = TRUE),
answer("init()"),
answer("install.packages()")
),
question("Welcher Packet benutzen wir, um XLSX-Dateien zu lesen?",
answer("readxl()", correct = TRUE),
answer("readxls()"),
answer("readexcel()"),
answer("excelread()")
), ),
question("Which of the R packages listed below are used to create plots?", question("Wie lassen sich einzelne Spalten aus dem Datensatz auslesen?",
answer("lattice", correct = TRUE), answer("dataset&\\`column\\`"),
answer("tools"), answer("column$dataset"),
answer("stats"), answer("dataset%\\`column\\`"),
answer("grid", correct = TRUE) answer("dataset$\\`column\\`", correct = TRUE)
) )
) )
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment