From 4cf4c5f08fbb1a19d0f79f3837c765345451880a Mon Sep 17 00:00:00 2001
From: Kirsten <Kevin.Kirsten@student.reutlingen-university.de>
Date: Sun, 2 Jul 2023 19:16:43 +0200
Subject: [PATCH] added quiz

---
 DCProject.Rmd  | 22 +++++++++++-
 DCProject.html | 93 +++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 109 insertions(+), 6 deletions(-)

diff --git a/DCProject.Rmd b/DCProject.Rmd
index 8f1b7d3..478c209 100644
--- a/DCProject.Rmd
+++ b/DCProject.Rmd
@@ -115,6 +115,7 @@ Größe des Datensatzes: 24 Zeilen und 10 Spalten
 1. Die Anzahl der Ausländischen Studenten in Deutschland hat sich seit dem WS 00/01 verdoppelt.  
 2. Der %-Anteil an studierenden Frauen (insgesamt) gegenüber studierenden Männern (insgesamt) hat sich seit dem WS 98/99 stetig erhöht.
 
+
 ## Datenaufbereitung
 ### Wie können Daten eingelesen werden
 Es können verschiedene Datenvormate eingelesen werden, z.B CSV, XLSX
@@ -187,6 +188,15 @@ Es können verschiedene Datenvormate eingelesen werden, z.B CSV, XLSX
     na="NA"
     ```
     
+```{r letter-c, echo=FALSE}
+question("Jetzt bist du dran! Angenommen du möchtest eine .CSV Datei einlesen die im selben Arbeitsverzeichnis liegt, in der Dezimalzahlen mit einem . getrennt werden und fehlende Werte mit NA ausgefüllt werden sollen. Wie gehst du vor?",
+  answer('daten_csv <- read.csv("daten.csv")'),
+  answer('daten_csv <- read.csv2(file.choose(), na = "NA")'),
+  answer('daten_csv <- read.csv("daten.csv", na = "NA")', correct = TRUE),
+  answer('daten_csv <- read.csv2("daten.csv", na = "NA")')
+)
+```
+    
 ### Wie können Inkosistenzen und Leerstellen behoben werden
 
 [Fälle mit fehlende Werten in R löschen](https://www.youtube.com/watch?v=SXg-8DAB6gc)
@@ -238,11 +248,19 @@ Jahre:
 selected_data <- data[ ,8:9]
 kable(head(selected_data, 10))
 ```
-
+```{r letter-b, echo=FALSE}
+question("Jetzt bist du dran! Wie müssten wir den Befehl umändern, um nur mit der Anzahl der Deutschen Männlichen und Weiblichen Studend:innen weiterzuarbeiten?",
+  answer("selected_data <- data[3:2,])"),
+  answer("selected_data <- data[5:9,]"),
+  answer("selected_data <- data[ ,2:3]", correct = TRUE),
+  answer("selected_data <- data[ ,1:2]")
+)
+```
 Wir teilen die Daten in männlich und weiblich. Zusätzlich werden die Spalten etwas konvertiert:
 ```{r}
 data_male <- as.numeric(unlist(selected_data[-1 ,1]))
 data_female <- as.numeric(unlist(selected_data[-1 ,2]))
+print(data_male)
 ```
 
 Und Berechnen:  
@@ -263,6 +281,7 @@ und die Standartabweichung:
 print(paste("Std. Abweichung male: ", sd(data_male), "Std. Abweichung female: ", sd(data_female)))
 ```
 
+
 ### Hypothesentest
 In der Datenbasis haben wir 2 Hypothesen aufgestellt:
 
@@ -324,6 +343,7 @@ abline(trend_m, col = "blue")
 Wie man sieht ist es tatsächlich so, dass der Frauenanteil stetig gestiegen ist, im vergleich zum Männeranteil.
 
 
+
 ## Teaminfos
 Wer hat was erstellt/implementiert:  
   
diff --git a/DCProject.html b/DCProject.html
index 0a55f4e..55e3b76 100644
--- a/DCProject.html
+++ b/DCProject.html
@@ -592,7 +592,7 @@ erhöht.</li>
 <div id="section-wie-können-daten-eingelesen-werden"
 class="section level3">
 <h3>Wie können Daten eingelesen werden</h3>
-<p>Es können verschieden Datenvormate eingelesen werden z.B CSV,
+<p>Es können verschiedene Datenvormate eingelesen werden, z.B CSV,
 XLSX</p>
 <ol style="list-style-type: decimal">
 <li><p>Daten aus einer CSV-Datei einlesen</p>
@@ -642,6 +642,14 @@ können</p>
 <p>hier gibt es aber nicht die Argumente wie bei csv auser</p>
 <pre><code>na=&quot;NA&quot;</code></pre></li>
 </ol>
+<div class="panel panel-default tutorial-question-container">
+<div data-label="letter-c" class="tutorial-question panel-body">
+<div id="letter-c-answer_container" class="shiny-html-output"></div>
+<div id="letter-c-message_container" class="shiny-html-output"></div>
+<div id="letter-c-action_button_container" class="shiny-html-output"></div>
+<script>if (Tutorial.triggerMathJax) Tutorial.triggerMathJax()</script>
+</div>
+</div>
 </div>
 <div
 id="section-wie-können-inkosistenzen-und-leerstellen-behoben-werden"
@@ -654,7 +662,7 @@ Fehlerhafte Werte stehen.</p>
 <p>Im Beispiel hier werden alle Zeilen mit na werten vom dataframe daten
 entfernt und im dataframe gesaueberte_daten abgelegt</p>
 <pre><code>gesaueberte_daten &lt;- na.omit(daten)</code></pre>
-<p>Um fehlende Werte direkt bei der Berechnung zu behandel kann na.rm
+<p>Um fehlende Werte direkt bei der Berechnung zu behandeln kann na.rm
 benutzt werden. Wenn es auf TRUE gesetzt ist überspringt es NA werte.
 Folgende Funktionen können na.rm nutzen</p>
 <pre><code>colSums()
@@ -893,10 +901,22 @@ kable(head(selected_data, 10))</code></pre>
 </tr>
 </tbody>
 </table>
+<div class="panel panel-default tutorial-question-container">
+<div data-label="letter-b" class="tutorial-question panel-body">
+<div id="letter-b-answer_container" class="shiny-html-output"></div>
+<div id="letter-b-message_container" class="shiny-html-output"></div>
+<div id="letter-b-action_button_container" class="shiny-html-output"></div>
+<script>if (Tutorial.triggerMathJax) Tutorial.triggerMathJax()</script>
+</div>
+</div>
 <p>Wir teilen die Daten in männlich und weiblich. Zusätzlich werden die
 Spalten etwas konvertiert:</p>
 <pre class="r"><code>data_male &lt;- as.numeric(unlist(selected_data[-1 ,1]))
-data_female &lt;- as.numeric(unlist(selected_data[-1 ,2]))</code></pre>
+data_female &lt;- as.numeric(unlist(selected_data[-1 ,2]))
+print(data_male)</code></pre>
+<pre><code>##  [1]  999724  967638  969922  995293 1020423 1061544 1026199 1037143 1032663
+## [10] 1014761 1057806 1106450 1157485 1255372 1314017 1371640 1408534 1434126
+## [19] 1453625 1464643 1465978 1464867 1476366 1466282</code></pre>
 <p>Und Berechnen:<br />
 Den Mittelwert:</p>
 <pre class="r"><code>print(paste(&quot;Mittelwert male: &quot;, mean(data_male), &quot;Mittelwert female: &quot;, mean(data_female)))</code></pre>
@@ -1066,7 +1086,6 @@ library(learnr)
 library(readxl)
 library(knitr)
 library(dplyr)
-library(shiny)
 
 
 current_dir = getwd()
@@ -1092,6 +1111,70 @@ session$onSessionEnded(function() {
         learnr:::event_trigger(session, "session_stop")
       })
 </script>
+ 
+<script type="application/shiny-prerendered" data-context="server">
+learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label = "letter-c", question = structure("Jetzt bist du dran! Angenommen du möchtest eine .CSV Datei einlesen die im selben Arbeitsverzeichnis liegt, in der Dezimalzahlen mit einem . getrennt werden und fehlende Werte mit NA ausgefüllt werden sollen. Wie gehst du vor?", html = TRUE, class = c("html", 
+"character")), answers = list(structure(list(id = "lnr_ans_171b41d", 
+    option = "daten_csv <- read.csv(\"daten.csv\")", value = "daten_csv <- read.csv(\"daten.csv\")", 
+    label = structure("daten_csv &lt;- read.csv(“daten.csv”)", 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_5eb6a66", 
+    option = "daten_csv <- read.csv2(file.choose(), na = \"NA\")", 
+    value = "daten_csv <- read.csv2(file.choose(), na = \"NA\")", 
+    label = structure("daten_csv &lt;- read.csv2(file.choose(), na = “NA”)", 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_f1ef3b5", 
+    option = "daten_csv <- read.csv(\"daten.csv\", na = \"NA\")", 
+    value = "daten_csv <- read.csv(\"daten.csv\", na = \"NA\")", 
+    label = structure("daten_csv &lt;- read.csv(“daten.csv”, na = “NA”)", 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_114e0d3", 
+    option = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\")", 
+    value = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\")", 
+    label = structure("daten_csv &lt;- read.csv2(“daten.csv”, na = “NA”)", 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", 
+"character")), try_again = structure("<span data-i18n=\"button.questiontryagain\">Try Again<\u002fspan>", html = TRUE, class = c("html", 
+"character"))), messages = list(correct = structure("Correct!", html = TRUE, class = c("html", 
+"character")), try_again = structure("Incorrect", html = TRUE, class = c("html", 
+"character")), incorrect = structure("Incorrect", html = TRUE, class = c("html", 
+"character")), message = NULL, post_message = NULL), ids = list(
+    answer = "letter-c-answer", question = "letter-c"), loading = NULL, 
+    random_answer_order = FALSE, allow_retry = FALSE, seed = 2009452949.56428, 
+    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 = "letter-b", question = structure("Jetzt bist du dran! Wie müssten wir den Befehl umändern, um nur mit der Anzahl der Deutschen Männlichen und Weiblichen Studend:innen weiterzuarbeiten?", html = TRUE, class = c("html", 
+"character")), answers = list(structure(list(id = "lnr_ans_37ebccb", 
+    option = "selected_data <- data[3:2,])", value = "selected_data <- data[3:2,])", 
+    label = structure("selected_data &lt;- data[3:2,])", 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_2a91406", 
+    option = "selected_data <- data[5:9,]", value = "selected_data <- data[5:9,]", 
+    label = structure("selected_data &lt;- data[5:9,]", 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_cb236d6", 
+    option = "selected_data <- data[ ,2:3]", value = "selected_data <- data[ ,2:3]", 
+    label = structure("selected_data &lt;- data[ ,2:3]", 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_a57fc9d", 
+    option = "selected_data <- data[ ,1:2]", value = "selected_data <- data[ ,1:2]", 
+    label = structure("selected_data &lt;- data[ ,1:2]", 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", 
+"character")), try_again = structure("<span data-i18n=\"button.questiontryagain\">Try Again<\u002fspan>", html = TRUE, class = c("html", 
+"character"))), messages = list(correct = structure("Correct!", html = TRUE, class = c("html", 
+"character")), try_again = structure("Incorrect", html = TRUE, class = c("html", 
+"character")), incorrect = structure("Incorrect", html = TRUE, class = c("html", 
+"character")), message = NULL, post_message = NULL), ids = list(
+    answer = "letter-b-answer", question = "letter-b"), loading = NULL, 
+    random_answer_order = FALSE, allow_retry = FALSE, seed = 1183554803.94886, 
+    options = list()), class = c("learnr_radio", "tutorial_question"
+)), session = session)
+</script>
 </p>
 <!--html_preserve-->
 <script type="application/shiny-prerendered" data-context="dependencies">
@@ -1100,7 +1183,7 @@ session$onSessionEnded(function() {
 <!--/html_preserve-->
 <!--html_preserve-->
 <script type="application/shiny-prerendered" data-context="execution_dependencies">
-{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages","version"]},"class":{"type":"character","attributes":{},"value":["data.frame"]},"row.names":{"type":"integer","attributes":{},"value":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","compiler","datasets","digest","dplyr","ellipsis","evaluate","fansi","fastmap","fontawesome","generics","glue","graphics","grDevices","highr","htmltools","htmlwidgets","httpuv","jquerylib","jsonlite","knitr","later","learnr","lifecycle","magrittr","methods","mime","pillar","pkgconfig","promises","R6","Rcpp","readxl","rlang","rmarkdown","rprojroot","sass","shiny","stats","tibble","tidyselect","tools","utf8","utils","vctrs","withr","xfun","xtable","yaml"]},{"type":"character","attributes":{},"value":["1.4.1","4.2.3","0.5.0","1.0.8","1.1.0","2.2.0","3.6.1","4.2.3","4.2.3","0.6.31","1.1.2","0.3.2","0.21","1.0.4","1.1.1","0.5.1","0.1.3","1.6.2","4.2.3","4.2.3","0.10","0.5.5","1.6.2","1.6.11","0.1.4","1.8.5","1.43","1.3.1","0.11.4","1.0.3","2.0.3","4.2.3","0.12","1.9.0","2.0.3","1.2.0.1","2.5.1","1.0.10","1.4.2","1.1.1","2.22","2.0.3","0.4.6","1.7.4","4.2.3","3.2.1","1.2.0","4.2.3","1.2.3","4.2.3","0.6.3","2.5.0","0.39","1.8-4","2.3.7"]}]}]}
+{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages","version"]},"class":{"type":"character","attributes":{},"value":["data.frame"]},"row.names":{"type":"integer","attributes":{},"value":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","commonmark","compiler","datasets","digest","dplyr","ellipsis","evaluate","fansi","fastmap","fontawesome","generics","glue","graphics","grDevices","highr","htmltools","htmlwidgets","httpuv","jquerylib","jsonlite","knitr","later","learnr","lifecycle","magrittr","markdown","methods","mime","pillar","pkgconfig","promises","R6","Rcpp","readxl","rlang","rmarkdown","rprojroot","sass","shiny","stats","tibble","tidyselect","tools","utf8","utils","vctrs","withr","xfun","xtable","yaml"]},{"type":"character","attributes":{},"value":["1.4.1","4.2.3","0.5.0","1.0.8","1.1.0","2.2.0","3.6.1","1.9.0","4.2.3","4.2.3","0.6.31","1.1.2","0.3.2","0.21","1.0.4","1.1.1","0.5.1","0.1.3","1.6.2","4.2.3","4.2.3","0.10","0.5.5","1.6.2","1.6.11","0.1.4","1.8.5","1.43","1.3.1","0.11.4","1.0.3","2.0.3","1.7","4.2.3","0.12","1.9.0","2.0.3","1.2.0.1","2.5.1","1.0.10","1.4.2","1.1.1","2.22","2.0.3","0.4.6","1.7.4","4.2.3","3.2.1","1.2.0","4.2.3","1.2.3","4.2.3","0.6.3","2.5.0","0.39","1.8-4","2.3.7"]}]}]}
 </script>
 <!--/html_preserve-->
 </div>
-- 
GitLab