diff --git a/tutorial_page.Rmd b/tutorial_page.Rmd index 68445c80e31c9f0c1bc53b441090380145ddfe28..31ce920773bff57161deace16c7ae0811272a76f 100644 --- a/tutorial_page.Rmd +++ b/tutorial_page.Rmd @@ -46,7 +46,7 @@ Der Datensatz umfasst 20.343 Einträge und enthält verschiedene Informationen z Diese Spalten bieten eine breite Palette von Informationen über die charakteristischen Merkmale, Bewertungen und Eigenschaften der aufgeführten Brettspiele im Datensatz. Die Daten können für Analysen und Erkenntnisse im Bereich der Brettspielindustrie sowie für die Beurteilung von Präferenzen und Trends unter den Spielern verwendet werden. ### Hypothesen -Wir formulieren zwei Hypothesen, die wir im "Datenanalyse"-Abschnitt testen werden. +Wir haben zwei Hypothesen formuliert, die wir im "Datenanalyse"-Abschnitt testen werden. **Hypothese 1:** Spiele mit höheren Complexity Score haben niedriger anzahl von Owned Users. @@ -63,7 +63,7 @@ des Datenfiles kommen verschiedene Einlese-Befehle zur Anwendung. Es können u.a (.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. +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. Für diese Aufgabe bietet sich das readxl-Paket an, das am einfachsten mit den folgenden Befehlen installiert und geladen wird: @@ -72,15 +72,15 @@ 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. +Der Package ist schonmal installiert und wird verwendet, deswegen lässt R nicht zu, dass es wieder installiert wird. -Wir können unser Datensatz einlesen: +Wir jetzt 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. +Aufgrund der Arbeitsverzeichnis funktioniert leider 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: @@ -88,14 +88,14 @@ Wir können jetzt unsere Daten benutzen: gameData ``` -Nur eine Spalte aus dem Datensatz lässt sich wie folgt lesen: +Wir werden aber häufig nicht mit dem gesamten Datensatz arbeiten, sondern nur mit einigen Spalten. Nur eine Spalte aus dem Datensatz lässt sich wie folgt lesen: ```{r read-column, exercise=TRUE} gameData$`Year Published` ``` #### Zeit zum üben! -Schreiben Sie den Code, um die Spalte `Mechanics`zu lesen: +Schreiben Sie den Code, um die Spalte `Mechanics` zu lesen: ```{r read-mechanics-column, exercise=TRUE} @@ -105,7 +105,7 @@ gameData$`Mechanics` ``` -Wie Sie weitere Dateientypen einlesen und benutzen kannst, finden Sie in diesem [Tutorial von Björn Walther](https://bjoernwalther.com/daten-in-r-importieren/). +*Wie Sie weitere Dateientypen einlesen und benutzen kannst, finden Sie in diesem [Tutorial von Björn Walther](https://bjoernwalther.com/daten-in-r-importieren/)* ### Leerstellen beheben @@ -129,7 +129,7 @@ In unserem Dataset scheint alles gut zu sein, deswegen haben wir keine Änderung ### 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. +In einem Datensatz beziehen sich Inkonsistenzen auf Unstimmigkeiten, Widersprüche oder Fehler, die in den Daten vorhanden sind und möglicherweise die Qualität der Daten beeinträchtigen. Die unterstehende Befehle helfen uns, diese zu Inkonsistenzen zu beheben. #### Standardisierung der Schreibweise: @@ -147,7 +147,7 @@ gameData$`Mechanics` <- gsub("Action", "ACTION", gameData$`Mechanics`) gameData$`Mechanics` ``` -Somit haben wir alle "Action" Strings mit "ACTION" ersetzt. +Somit haben wir alle treffer für "Action" mit "ACTION" ersetzt. #### Behandlung von fehlenden Werten: @@ -155,25 +155,33 @@ Somit haben wir alle "Action" Strings mit "ACTION" ersetzt. gameData$`Rating Average`[is.na(gameData$`Rating Average`)] <- mean(gameData$`Rating Average`, na.rm = TRUE) ``` -Dieser Befehl ersetzt fehlende Werte durch der Median der vorhandenen Werten in der Spalte. +Dieser Befehl ersetzt fehlende Werte durch der Median der vorhandenen Werten in der Spalte. Was der Median ist, finden Sie in dem nächsten Abschnitt über Datenanalyse. #### Entfernen von Duplikaten +Dieser Befehl entfernt Duplikaten basierend auf allen Spalten. +Wir haben aber in unserem Datensatz keine Duplikaten. \ +Zum Veranschaulichen, benutzen wir ein Vector. + ```{r remove-duplicates, exercise=TRUE} -gameData <- unique(gameData) +vector <- c(1, 2, 3, 3, 5, 2, 1, 7, 10, 5) +vector <- unique(vector) + +vector ``` -Dieser Befehl entfernt Duplikaten basierend auf allen Spalten. -Wir haben aber in unserem Datensatz keine Duplikaten. +So werden die Duplikate aus dem Datensatz entfernt. #### Behandlung von Sonderzeichen ```{r replace-special-chars, exercise=TRUE} gameData$`Mechanics` <- gsub("[^a-zA-Z0-9 ]", "", gameData$`Mechanics`) +gameData$`Mechanics` ``` -Dieser Befehl entfernt Sonderzeichen in der Spalte "Mechanics". +Dieser Befehl entfernt Sonderzeichen in der Spalte "Mechanics". In diesem Fall sind Characters, die nicht eine Buchstabe oder Ziffer sind, entfernt worden (auch die Kommas). +#### Notice 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. diff --git a/tutorial_page.html b/tutorial_page.html index 29b0d8c36fc75e1b930b56a02516f2f8da71eae2..782a6876f39593e1295f9dd6733b43a1e0bcf4a4 100644 --- a/tutorial_page.html +++ b/tutorial_page.html @@ -168,8 +168,8 @@ werden.</p> </div> <div id="section-hypothesen" class="section level3"> <h3>Hypothesen</h3> -<p>Wir formulieren zwei Hypothesen, die wir im “Datenanalyseâ€-Abschnitt -testen werden.</p> +<p>Wir haben zwei Hypothesen formuliert, die wir im +“Datenanalyseâ€-Abschnitt testen werden.</p> <p><strong>Hypothese 1:</strong> Spiele mit höheren Complexity Score haben niedriger anzahl von Owned Users.</p> <p><strong>Hypothese 2:</strong> Spiele mit höheren Complexity Score @@ -188,8 +188,7 @@ Datenfiles (.csv) und Excel-Files eingelesen werden.</p> <h4>XLSX-Dateien in R importieren</h4> <p>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.</p> +heutzutage weit verbreitet.</p> <p>Für diese Aufgabe bietet sich das readxl-Paket an, das am einfachsten mit den folgenden Befehlen installiert und geladen wird:</p> <div class="tutorial-exercise" data-label="install-readxl" @@ -199,18 +198,18 @@ data-lines="0" data-pipe="|>"> library (readxl)</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Wie du sehen kannst, ist der Package schonmal installiert und wird -verwendet, deswegen lässt R nicht zu, dass es wieder installiert -wird.</p> -<p>Wir können unser Datensatz einlesen:</p> +<p>Der Package ist schonmal installiert und wird verwendet, deswegen +lässt R nicht zu, dass es wieder installiert wird.</p> +<p>Wir jetzt können unser Datensatz einlesen:</p> <div class="tutorial-exercise" data-label="read-data" data-completion="1" data-diagnostics="1" data-startover="1" data-lines="0" data-pipe="|>"> <pre class="text"><code>gameData <- read_excel("bgg_dataset.xlsx", sheet = "Sheet")</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Leider funktioniert diese Funktion in diesem Dokument nicht, aber -keine Sorge, wir haben Sie im Hintergrund genauso wie hier benutzt.</p> +<p>Aufgrund der Arbeitsverzeichnis funktioniert leider diese Funktion in +diesem Dokument nicht, aber keine Sorge, wir haben sie im Hintergrund +genauso wie hier benutzt.</p> <p>Wir können jetzt unsere Daten benutzen:</p> <div class="tutorial-exercise" data-label="show-data" data-completion="1" data-diagnostics="1" data-startover="1" @@ -218,7 +217,9 @@ data-lines="0" data-pipe="|>"> <pre class="text"><code>gameData</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Nur eine Spalte aus dem Datensatz lässt sich wie folgt lesen:</p> +<p>Wir werden aber häufig nicht mit dem gesamten Datensatz arbeiten, +sondern nur mit einigen Spalten. Nur eine Spalte aus dem Datensatz lässt +sich wie folgt lesen:</p> <div class="tutorial-exercise" data-label="read-column" data-completion="1" data-diagnostics="1" data-startover="1" data-lines="0" data-pipe="|>"> @@ -228,7 +229,7 @@ data-lines="0" data-pipe="|>"> </div> <div id="section-zeit-zum-üben" class="section level4"> <h4>Zeit zum üben!</h4> -<p>Schreiben Sie den Code, um die Spalte <code>Mechanics</code>zu +<p>Schreiben Sie den Code, um die Spalte <code>Mechanics</code> zu lesen:</p> <div class="tutorial-exercise" data-label="read-mechanics-column" data-completion="1" data-diagnostics="1" data-startover="1" @@ -241,10 +242,10 @@ data-diagnostics="1" data-startover="1" data-lines="0" data-pipe="|>"> <pre class="text"><code>gameData$`Mechanics`</code></pre> </div> -<p>Wie Sie weitere Dateientypen einlesen und benutzen kannst, finden Sie -in diesem <a +<p><em>Wie Sie weitere Dateientypen einlesen und benutzen kannst, finden +Sie in diesem <a href="https://bjoernwalther.com/daten-in-r-importieren/">Tutorial von -Björn Walther</a>.</p> +Björn Walther</a></em></p> </div> </div> <div id="section-leerstellen-beheben" class="section level3"> @@ -277,9 +278,10 @@ keine Änderungen nach Ausführung den Befehlen.</p> </div> <div id="section-inkonsistenzen-beheben" class="section level3"> <h3>Inkonsistenzen beheben</h3> -<p>Das Beheben von Leerstellen in R Studio erfordert spezifische -Schritte, die je nach Art der Daten und der Art der Probleme variieren -können.</p> +<p>In einem Datensatz beziehen sich Inkonsistenzen auf Unstimmigkeiten, +Widersprüche oder Fehler, die in den Daten vorhanden sind und +möglicherweise die Qualität der Daten beeinträchtigen. Die unterstehende +Befehle helfen uns, diese zu Inkonsistenzen zu beheben.</p> <div id="section-standardisierung-der-schreibweise" class="section level4"> <h4>Standardisierung der Schreibweise:</h4> @@ -302,7 +304,7 @@ data-lines="0" data-pipe="|>"> gameData$`Mechanics`</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Somit haben wir alle “Action†Strings mit “ACTION†ersetzt.</p> +<p>Somit haben wir alle treffer für “Action†mit “ACTION†ersetzt.</p> </div> <div id="section-behandlung-von-fehlenden-werten" class="section level4"> @@ -314,28 +316,40 @@ data-lines="0" data-pipe="|>"> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> <p>Dieser Befehl ersetzt fehlende Werte durch der Median der vorhandenen -Werten in der Spalte.</p> +Werten in der Spalte. Was der Median ist, finden Sie in dem nächsten +Abschnitt über Datenanalyse.</p> </div> <div id="section-entfernen-von-duplikaten" class="section level4"> <h4>Entfernen von Duplikaten</h4> +<p>Dieser Befehl entfernt Duplikaten basierend auf allen Spalten. Wir +haben aber in unserem Datensatz keine Duplikaten.<br /> +Zum Veranschaulichen, benutzen wir ein Vector.</p> <div class="tutorial-exercise" data-label="remove-duplicates" data-completion="1" data-diagnostics="1" data-startover="1" data-lines="0" data-pipe="|>"> -<pre class="text"><code>gameData <- unique(gameData)</code></pre> +<pre class="text"><code>vector <- c(1, 2, 3, 3, 5, 2, 1, 7, 10, 5) +vector <- unique(vector) + +vector</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Dieser Befehl entfernt Duplikaten basierend auf allen Spalten. Wir -haben aber in unserem Datensatz keine Duplikaten.</p> +<p>So werden die Duplikate aus dem Datensatz entfernt.</p> </div> <div id="section-behandlung-von-sonderzeichen" class="section level4"> <h4>Behandlung von Sonderzeichen</h4> <div class="tutorial-exercise" data-label="replace-special-chars" data-completion="1" data-diagnostics="1" data-startover="1" data-lines="0" data-pipe="|>"> -<pre class="text"><code>gameData$`Mechanics` <- gsub("[^a-zA-Z0-9 ]", "", gameData$`Mechanics`)</code></pre> +<pre class="text"><code>gameData$`Mechanics` <- gsub("[^a-zA-Z0-9 ]", "", gameData$`Mechanics`) +gameData$`Mechanics`</code></pre> <script type="application/json" data-ui-opts="1">{"engine":"r","has_checker":false,"caption":"<span data-i18n=\"text.enginecap\" data-i18n-opts=\"{"engine":"R"}\">R Code<\/span>"}</script> </div> -<p>Dieser Befehl entfernt Sonderzeichen in der Spalte “Mechanicsâ€.</p> +<p>Dieser Befehl entfernt Sonderzeichen in der Spalte “Mechanicsâ€. In +diesem Fall sind Characters, die nicht eine Buchstabe oder Ziffer sind, +entfernt worden (auch die Kommas).</p> +</div> +<div id="section-notice" class="section level4"> +<h4>Notice</h4> <p>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 @@ -1135,17 +1149,17 @@ learnr:::store_exercise_cache(structure(list(label = "remove-duplicates", global "gameData <- read_excel(\"bgg_dataset.xlsx\", sheet = \"Sheet\")", "knitr::opts_chunk$set(echo = FALSE)"), chunk_opts = list(label = "setup", include = FALSE)), setup = NULL, chunks = list(list(label = "remove-duplicates", - code = "gameData <- unique(gameData)", opts = list(label = "\"remove-duplicates\"", - exercise = "TRUE"), engine = "r")), code_check = NULL, - error_check = NULL, check = NULL, solution = NULL, tests = NULL, - options = list(eval = FALSE, echo = TRUE, results = "markup", - tidy = FALSE, tidy.opts = NULL, collapse = FALSE, prompt = FALSE, - comment = NA, highlight = FALSE, size = "normalsize", - background = "#F7F7F7", strip.white = TRUE, cache = 0, - cache.path = "tutorial_page_cache/html/", cache.vars = NULL, - cache.lazy = TRUE, dependson = NULL, autodep = FALSE, - cache.rebuild = FALSE, fig.keep = "high", fig.show = "asis", - fig.align = "default", fig.path = "tutorial_page_files/figure-html/", + code = "vector <- c(1, 2, 3, 3, 5, 2, 1, 7, 10, 5)\nvector <- unique(vector)\n\nvector", + opts = list(label = "\"remove-duplicates\"", exercise = "TRUE"), + engine = "r")), code_check = NULL, error_check = NULL, check = NULL, + solution = NULL, tests = NULL, options = list(eval = FALSE, + echo = TRUE, results = "markup", tidy = FALSE, tidy.opts = NULL, + collapse = FALSE, prompt = FALSE, comment = NA, highlight = FALSE, + size = "normalsize", background = "#F7F7F7", strip.white = TRUE, + cache = 0, cache.path = "tutorial_page_cache/html/", + cache.vars = NULL, cache.lazy = TRUE, dependson = NULL, + autodep = FALSE, cache.rebuild = FALSE, fig.keep = "high", + fig.show = "asis", fig.align = "default", fig.path = "tutorial_page_files/figure-html/", dev = "png", dev.args = NULL, dpi = 192, fig.ext = "png", fig.width = 6.5, fig.height = 4, fig.env = "figure", fig.cap = NULL, fig.scap = NULL, fig.lp = "fig:", fig.subcap = NULL, @@ -1155,7 +1169,8 @@ learnr:::store_exercise_cache(structure(list(label = "remove-duplicates", global message = TRUE, render = NULL, ref.label = NULL, child = NULL, engine = "r", split = FALSE, include = TRUE, purl = TRUE, max.print = 1000, label = "remove-duplicates", exercise = TRUE, - code = "gameData <- unique(gameData)", out.width.px = 624, + code = c("vector <- c(1, 2, 3, 3, 5, 2, 1, 7, 10, 5)", + "vector <- unique(vector)", "", "vector"), out.width.px = 624, out.height.px = 384, params.src = "remove-duplicates, exercise=TRUE", fig.num = 0, exercise.df_print = "paged", exercise.checker = "NULL"), engine = "r", version = "4"), class = c("r", "tutorial_exercise" @@ -1176,7 +1191,7 @@ learnr:::store_exercise_cache(structure(list(label = "replace-special-chars", gl "gameData <- read_excel(\"bgg_dataset.xlsx\", sheet = \"Sheet\")", "knitr::opts_chunk$set(echo = FALSE)"), chunk_opts = list(label = "setup", include = FALSE)), setup = NULL, chunks = list(list(label = "replace-special-chars", - code = "gameData$`Mechanics` <- gsub(\"[^a-zA-Z0-9 ]\", \"\", gameData$`Mechanics`)", + code = "gameData$`Mechanics` <- gsub(\"[^a-zA-Z0-9 ]\", \"\", gameData$`Mechanics`)\ngameData$`Mechanics`", opts = list(label = "\"replace-special-chars\"", exercise = "TRUE"), engine = "r")), code_check = NULL, error_check = NULL, check = NULL, solution = NULL, tests = NULL, options = list(eval = FALSE, @@ -1196,8 +1211,9 @@ learnr:::store_exercise_cache(structure(list(label = "replace-special-chars", gl message = TRUE, render = NULL, ref.label = NULL, child = NULL, engine = "r", split = FALSE, include = TRUE, purl = TRUE, max.print = 1000, label = "replace-special-chars", exercise = TRUE, - code = "gameData$`Mechanics` <- gsub(\"[^a-zA-Z0-9 ]\", \"\", gameData$`Mechanics`)", - out.width.px = 624, out.height.px = 384, params.src = "replace-special-chars, exercise=TRUE", + code = c("gameData$`Mechanics` <- gsub(\"[^a-zA-Z0-9 ]\", \"\", gameData$`Mechanics`)", + "gameData$`Mechanics`"), out.width.px = 624, out.height.px = 384, + params.src = "replace-special-chars, exercise=TRUE", fig.num = 0, exercise.df_print = "paged", exercise.checker = "NULL"), engine = "r", version = "4"), class = c("r", "tutorial_exercise" ))) @@ -1206,19 +1222,19 @@ learnr:::store_exercise_cache(structure(list(label = "replace-special-chars", gl <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "second-quiz-1", question = structure("Mit welchem R-Befehl lassen sich Packages installieren?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_fab16f", + "character")), answers = list(structure(list(id = "lnr_ans_4a56a51", option = "install.packages()", value = "install.packages()", label = structure("install.packages()", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_dcc8b2f", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_2f2fae5", option = "add.packages()", value = "add.packages()", label = structure("add.packages()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_4bc2e8c", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_8060f55", option = "install.library()", value = "install.library()", label = structure("install.library()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_1b7cf71", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_bc1a28e", option = "install()", value = "install()", label = structure("install()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", "tutorial_quiz_answer"))), button_labels = list(submit = structure("<span data-i18n=\"button.questionsubmit\">Submit Answer<\u002fspan>", html = TRUE, class = c("html", @@ -1229,7 +1245,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "second-quiz-1-answer", question = "second-quiz-1"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 494446241.269756, options = list()), class = c("learnr_radio", + seed = 1546514275.27985, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1237,16 +1253,16 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "second-quiz-2", question = structure("Mit welchem R-Befehl lassen sich die installierten Packages initialisieren?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_99fd8c3", + "character")), answers = list(structure(list(id = "lnr_ans_5531efe", option = "use()", value = "use()", label = structure("use()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_a6a1953", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_e6caeaf", option = "library()", value = "library()", label = structure("library()", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_9e0048e", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_c6d9d96", option = "init()", value = "init()", label = structure("init()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_b03b3ce", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_71663a4", option = "install.packages()", value = "install.packages()", label = structure("install.packages()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1258,23 +1274,23 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "second-quiz-2-answer", question = "second-quiz-2"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 973697199.046587, options = list()), class = c("learnr_radio", + seed = 232642250.391668, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "second-quiz-3", question = structure("Welcher Packet benutzen wir, um XLSX-Dateien zu lesen?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_955908", + "character")), answers = list(structure(list(id = "lnr_ans_8d0b39f", option = "readxl()", value = "readxl()", label = structure("readxl()", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_efd8107", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_fbf16dd", option = "readxls()", value = "readxls()", label = structure("readxls()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_f50fd5b", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_e3b5605", option = "readexcel()", value = "readexcel()", label = structure("readexcel()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_1161587", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_a69f9ab", option = "excelread()", value = "excelread()", label = structure("excelread()", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", "tutorial_quiz_answer"))), button_labels = list(submit = structure("<span data-i18n=\"button.questionsubmit\">Submit Answer<\u002fspan>", html = TRUE, class = c("html", @@ -1285,7 +1301,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "second-quiz-3-answer", question = "second-quiz-3"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 214373947.900174, options = list()), class = c("learnr_radio", + seed = 1454409881.32274, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1293,19 +1309,19 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "second-quiz-4", question = structure("Wie lassen sich einzelne Spalten aus dem Datensatz auslesen?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_e0f3b5f", + "character")), answers = list(structure(list(id = "lnr_ans_8661250", option = "dataset&\\`column\\`", value = "dataset&\\`column\\`", label = structure("dataset&`column`", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_edcc894", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_b6184a2", option = "column$dataset", value = "column$dataset", label = structure("column$dataset", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_27145ea", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_2fee0db", option = "dataset%\\`column\\`", value = "dataset%\\`column\\`", label = structure("dataset%`column`", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_8066022", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_fc3948", option = "dataset$\\`column\\`", value = "dataset$\\`column\\`", label = structure("dataset$`column`", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1317,7 +1333,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "second-quiz-4-answer", question = "second-quiz-4"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 521059730.257363, options = list()), class = c("learnr_radio", + seed = 1877086962.12591, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1569,10 +1585,10 @@ learnr:::store_exercise_cache(structure(list(label = "lm-plot", global_setup = s <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "hypothesis-quiz-1", question = structure("Spiele mit hoeherem Complexity Score haben eine niedrigere Anzahl von Owned Users.", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_8e12fab", + "character")), answers = list(structure(list(id = "lnr_ans_b8dfb2c", option = "Wahr", value = "Wahr", label = structure("Wahr", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_942fbf5", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_70dd269", option = "Falsch", value = "Falsch", label = structure("Falsch", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", "tutorial_quiz_answer"))), button_labels = list(submit = structure("<span data-i18n=\"button.questionsubmit\">Submit Answer<\u002fspan>", html = TRUE, class = c("html", @@ -1583,7 +1599,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "hypothesis-quiz-1-answer", question = "hypothesis-quiz-1"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 991454976.038318, options = list()), class = c("learnr_radio", + seed = 235239743.890458, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1591,10 +1607,10 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "hypothesis-quiz-2", question = structure("Spiele mit hoeherem Complexity Score haben hoehere Play Time.", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_a1be36f", + "character")), answers = list(structure(list(id = "lnr_ans_4907de2", option = "Wahr", value = "Wahr", label = structure("Wahr", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_3f08a31", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_a41df65", option = "Falsch", value = "Falsch", label = structure("Falsch", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", "tutorial_quiz_answer"))), button_labels = list(submit = structure("<span data-i18n=\"button.questionsubmit\">Submit Answer<\u002fspan>", html = TRUE, class = c("html", @@ -1605,7 +1621,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "hypothesis-quiz-2-answer", question = "hypothesis-quiz-2"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 1482267074.30977, options = list()), class = c("learnr_radio", + seed = 962175467.051952, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1651,20 +1667,20 @@ learnr:::store_exercise_cache(structure(list(label = "plotExercise", global_setu <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "quiz-ggplot-1", question = structure("Was ist der Median im Diagramm?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_85c1138", + "character")), answers = list(structure(list(id = "lnr_ans_8465b37", option = "ein vertikaler Strich", value = "ein vertikaler Strich", label = structure("ein vertikaler Strich", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_ff90fdf", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_772c6ac", option = "die Höhe der Box", value = "die Höhe der Box", label = structure("die Höhe der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_d199a79", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_751befc", option = "ein horizontaler Strich in der Mitter der Box", value = "ein horizontaler Strich in der Mitter der Box", label = structure("ein horizontaler Strich in der Mitter der Box", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_34eab96", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_b22bffe", option = "das untere Ende der Box", value = "das untere Ende der Box", label = structure("das untere Ende der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1676,7 +1692,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "quiz-ggplot-1-answer", question = "quiz-ggplot-1"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 870267660.09475, options = list()), class = c("learnr_radio", + seed = 1000578417.53407, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1684,19 +1700,19 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", label = "quiz-ggplot-2", question = structure("Was sind die Quartile im Diagramm?(Es sind mehrere Antworten möglich)", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_5716280", + "character")), answers = list(structure(list(id = "lnr_ans_dd30e8d", option = "das obere Ende der Box", value = "das obere Ende der Box", label = structure("das obere Ende der Box", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_30cc98b", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_ca3351b", option = "Punkte oberhalb der Box", value = "Punkte oberhalb der Box", label = structure("Punkte oberhalb der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_7130847", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_fdc040d", option = "ein Drittel des vertikalen Strichs", value = "ein Drittel des vertikalen Strichs", label = structure("ein Drittel des vertikalen Strichs", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_2c83f9d", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_f53576a", option = "das untere Ende der Box", value = "das untere Ende der Box", label = structure("das untere Ende der Box", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1708,26 +1724,26 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", lab "character")), message = NULL, post_message = NULL), ids = list( answer = "quiz-ggplot-2-answer", question = "quiz-ggplot-2"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 1462519502.81896, options = list()), class = c("learnr_checkbox", + seed = 1840956892.64274, options = list()), class = c("learnr_checkbox", "tutorial_question")), session = session) </script> <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "quiz-ggplot-3", question = structure("Was sind die Maximalwerte im Diagramm?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_4112e80", + "character")), answers = list(structure(list(id = "lnr_ans_39ab03f", option = "Punkte oberhalb der Box", value = "Punkte oberhalb der Box", label = structure("Punkte oberhalb der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_6dd8e61", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_8bae222", option = "die Spitzen des vertikalen Strichs", value = "die Spitzen des vertikalen Strichs", label = structure("die Spitzen des vertikalen Strichs", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_281ac0", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_da26761", option = "die x-Achse und die y-Achse", value = "die x-Achse und die y-Achse", label = structure("die x-Achse und die y-Achse", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_6443f54", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_bed867e", option = "die Flaeche der Box", value = "die Flaeche der Box", label = structure("die Flaeche der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1739,7 +1755,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "quiz-ggplot-3-answer", question = "quiz-ggplot-3"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 126669168.941015, options = list()), class = c("learnr_radio", + seed = 82805812.4614405, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script> @@ -1747,15 +1763,15 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "quiz-ggplot-4", question = structure("An was erkennt man im Diagramm die Ausreißer?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_e5a5eb", + "character")), answers = list(structure(list(id = "lnr_ans_e513a0d", option = "es sind Punkte außerhalb der Box", value = "es sind Punkte außerhalb der Box", label = structure("es sind Punkte außerhalb der Box", html = TRUE, class = c("html", "character")), correct = TRUE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_87ebf77", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_796994b", option = "an der Größe der Box", value = "an der Größe der Box", label = structure("an der Größe der Box", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", - "tutorial_quiz_answer")), structure(list(id = "lnr_ans_9f074f3", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_5665eed", option = "durch schlechtes Verhalten", value = "durch schlechtes Verhalten", label = structure("durch schlechtes Verhalten", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1767,7 +1783,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "character")), message = NULL, post_message = NULL), ids = list( answer = "quiz-ggplot-4-answer", question = "quiz-ggplot-4"), loading = NULL, random_answer_order = FALSE, allow_retry = FALSE, - seed = 1482607067.80961, options = list()), class = c("learnr_radio", + seed = 148899238.930663, options = list()), class = c("learnr_radio", "tutorial_question")), session = session) </script>