From a015543418892e77e5d8d0ef07c33ccba7853a81 Mon Sep 17 00:00:00 2001 From: Marcel <m1kehrberg@gmail.com> Date: Mon, 3 Jul 2023 01:08:24 +0200 Subject: [PATCH] Quiz erweiterung NA --- DCProject.Rmd | 24 +++++------- DCProject.html | 36 +++++++++--------- .../figure-html/unnamed-chunk-13-1.png | Bin 0 -> 11742 bytes 3 files changed, 27 insertions(+), 33 deletions(-) create mode 100644 DCProject_files/figure-html/unnamed-chunk-13-1.png diff --git a/DCProject.Rmd b/DCProject.Rmd index 5da2c61..8f9867a 100644 --- a/DCProject.Rmd +++ b/DCProject.Rmd @@ -251,30 +251,24 @@ Hier ist unser tatsächlicher Datensatz aus der Excel-Datei: kable(head(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[ ,8:9]", correct = TRUE), - answer("selected_data <- data[ ,1:2]") -) -``` - ### Eigenschaften der Daten Nun können wir Eigenschaften wie Mittelwert, Median, Varianz und die Standartabweichung berechnen. Dazu nutzen wir die 8. und 9. Spalte. Diese enthalten die gesamte Anzahl der Männlichen und Weiblichen Student:innen der Jahre: -```{r echo = FALSE} -#echo = FALSE, da dieses Statement ansonst ausgegeben wird. Das würde naehmlich keinen Sinn machen, da das Quiz genau dieses Statement abfragen soll -selected_data <- data[ ,8:9] -``` - ```{r} +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])) diff --git a/DCProject.html b/DCProject.html index 50c31f1..1c0e5c4 100644 --- a/DCProject.html +++ b/DCProject.html @@ -1123,26 +1123,26 @@ session$onSessionEnded(function() { <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", 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_2877cf6", + "character")), answers = list(structure(list(id = "lnr_ans_40e3e9e", option = "daten_csv <- read.csv(\"daten.csv\")", value = "daten_csv <- read.csv(\"daten.csv\")", label = structure("daten_csv <- 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_f9e06f8", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_c34e4e9", option = "daten_csv <- read.csv2(file.choose(), na = \"NA\")", value = "daten_csv <- read.csv2(file.choose(), na = \"NA\")", label = structure("daten_csv <- 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_3f0ce1b", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_4aaad0b", option = "daten_csv <- read.csv(\"daten.csv\", na = \"NA\")", value = "daten_csv <- read.csv(\"daten.csv\", na = \"NA\")", label = structure("daten_csv <- 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_efbb2a2", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_bbe5a62", option = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\")", value = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\")", label = structure("daten_csv <- 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")), structure(list(id = "lnr_ans_f85c7e2", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_3f52b2c", option = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\" dec= \".\")", value = "daten_csv <- read.csv2(\"daten.csv\", na = \"NA\" dec= \".\")", label = structure("daten_csv <- read.csv2(“daten.csvâ€, na = “NA†dec= “.â€)", html = TRUE, class = c("html", @@ -1154,7 +1154,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", lab "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 = 1175380697.95267, + random_answer_order = FALSE, allow_retry = FALSE, seed = 986385894.040678, options = list()), class = c("learnr_checkbox", "tutorial_question" )), session = session) </script> @@ -1163,30 +1163,30 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", lab <script type="application/shiny-prerendered" data-context="server"> learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", label = "letter-d", question = structure("Jetzt bist du dran! Angenommen du möchtest eine der oben genanten Funktionen verwenden welche probleme kann es geben und wie kannst du sie loesen?", html = TRUE, class = c("html", - "character")), answers = list(structure(list(id = "lnr_ans_69e1b79", + "character")), answers = list(structure(list(id = "lnr_ans_bafbd58", option = "Es koennen leerstellen im Datensatzt sein\")", value = "Es koennen leerstellen im Datensatzt sein\")", label = structure("Es koennen leerstellen im Datensatzt seinâ€)", 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_6dc5205", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_6606e0b", option = "Ich muss nichts beachten", value = "Ich muss nichts beachten", label = structure("Ich muss nichts beachten", 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_d0fb3b7", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_71af422", option = "Ich benutzen na.remove", value = "Ich benutzen na.remove", label = structure("Ich benutzen na.remove", 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_29f3317", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_e489dd0", option = "na.rm als parameter an die Funktion mit uebergeben", value = "na.rm als parameter an die Funktion mit uebergeben", label = structure("na.rm als parameter an die Funktion mit uebergeben", 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_e10e535", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_374e6d9", option = "na.omit() verwenden um eine neuen Datensatz zu erstellen", value = "na.omit() verwenden um eine neuen Datensatz zu erstellen", label = structure("na.omit() verwenden um eine neuen Datensatz zu erstellen", 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_2729e6d", + "tutorial_quiz_answer")), structure(list(id = "lnr_ans_4d8668c", option = "Wenn es Probleme mit den Daten geben sollte kann ich nach dem einlesen nichts mehr machen", value = "Wenn es Probleme mit den Daten geben sollte kann ich nach dem einlesen nichts mehr machen", label = structure("Wenn es Probleme mit den Daten geben sollte kann ich nach dem einlesen nichts mehr machen", html = TRUE, class = c("html", @@ -1198,26 +1198,26 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_checkbox", lab "character")), incorrect = structure("Incorrect", html = TRUE, class = c("html", "character")), message = NULL, post_message = NULL), ids = list( answer = "letter-d-answer", question = "letter-d"), loading = NULL, - random_answer_order = FALSE, allow_retry = FALSE, seed = 669280722.688342, + random_answer_order = FALSE, allow_retry = FALSE, seed = 1703390819.7068, 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 = "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_68d6701", +"character")), answers = list(structure(list(id = "lnr_ans_89788fc", option = "selected_data <- data[3:2,])", value = "selected_data <- data[3:2,])", label = structure("selected_data <- 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_93b3193", +"tutorial_quiz_answer")), structure(list(id = "lnr_ans_5efe997", option = "selected_data <- data[5:9,]", value = "selected_data <- data[5:9,]", label = structure("selected_data <- 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_60b69e6", +"tutorial_quiz_answer")), structure(list(id = "lnr_ans_c36eb22", option = "selected_data <- data[ ,2:3]", value = "selected_data <- data[ ,2:3]", label = structure("selected_data <- 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_8096242", +"tutorial_quiz_answer")), structure(list(id = "lnr_ans_fc68048", option = "selected_data <- data[ ,1:2]", value = "selected_data <- data[ ,1:2]", label = structure("selected_data <- data[ ,1:2]", html = TRUE, class = c("html", "character")), correct = FALSE, message = NULL, type = "literal"), class = c("tutorial_question_answer", @@ -1228,7 +1228,7 @@ learnr:::question_prerendered_chunk(structure(list(type = "learnr_radio", label "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 = 201975246.405948, + random_answer_order = FALSE, allow_retry = FALSE, seed = 1217726423.93295, options = list()), class = c("learnr_radio", "tutorial_question" )), session = session) </script> diff --git a/DCProject_files/figure-html/unnamed-chunk-13-1.png b/DCProject_files/figure-html/unnamed-chunk-13-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5426a0edafb5544d3699f2c4aa936ead6e3a6cc0 GIT binary patch literal 11742 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 literal 0 HcmV?d00001 -- GitLab