Kurs:Didaktik der Stochastik für Lernumgebungen/Technische Umsetzung/Erstes KnitR-Dokument

Aus Wikiversity

Einleitung[Bearbeiten]

In dem ersten KnitR-Dokument werden zunächst die Grundelemente erläutert, die später für die Erstellung eines individuellen Augabenblattes benötigt werden.

Voraussetzung[Bearbeiten]

  • Installiertes OpenSource Software R/RStudio auf dem eigenen Rechner
  • Installiertes knitr-Paket in R
  • Das Demo-KnitR-Dokument konnte erzeugt werden.

Ausgabeformat[Bearbeiten]

Ausgabeformat ist im diesem Beispiel odt_document, damit das erzeugte Dokument ggf. auch noch in LibreOffice nachbearbeitet werden kann.

Demodatei[Bearbeiten]

Die Demodatei[1] zu dieser Lernressource ist auf Github verfügbar und kann als Ausgangsbeispiel für Ihre eigenen Experimente mit dynamisch generierten Aufgabenblättern verwendet werden.

Kommentare zum Dokument[Bearbeiten]

Hinweise zum R-Markdown-Dokument[Bearbeiten]

Das erste R-Markdown-Dokument behandelt ersteeine einfache Formatierungs-Syntax für die Erzeugung von Dokumenten.

Wenn Sie auf die Schaltfläche Knit* klicken, wird ein Dokument generiert, das sowohl Inhalte als auch die Ausgabe von eingebetteten R-Code-Chunk innerhalb des Dokuments beinhaltet. Als erste eingebetteter R-Code wird die Summe von zwei Zahlen berechnet:

{r berechnung, echo=FALSE} vSumme <- 5+3

Im obigen Codechunk wurde die Summe von zwei Zahlen berechnet. Das Ergebnis der Summe, das in der Variablen vSumme gespeichert ist, kann im Quelltext von R-Markdiwn durch `r vSumme` ausgegeben werden.

Erste Aufgabe für die Grundschule[Bearbeiten]

 {r grunschulaufgabe, echo=TRUE} 
 vSummand1 <- 4 
 vSummand2 <- 6 
 vSumme <- vSummand1 + vSummand2

Lieber Peter, berechne bitte die Summe der Zahlen r vSummand1 und r vSummand2!

Bitte überprüfe Deine Lösung r vSummand1 + r vSummand2 = r vSumme

Mathematische Formeln[Bearbeiten]

Mathematische Formeln und Symbole können im Fließtext erscheinen z.B. mit $ x $ oder als abgesetzte mathematische Formel

Für mathematische Formeln gibt es zwei Darstellungsformen:

  • abgesetzte zentrierte mathematische Formeln werden mit zwei Dollarzeichen $$ gerahmt und
  • Formeln im Fließtext mit jeweils einem Dollarzeichen $.

Normalverteilung[Bearbeiten]

Dynamisch berechnet Variable in mathematischer Formel[Bearbeiten]

Im folgenden Beispiel wird eine dynamische berechnete Variable in eine Formel eingebettet.

 a <- 5 
 b <- 7 
 n <- 3
 

Im Quelltext soll das Integral von einem Polynom mit variablem Exponenten berechnet werden. Die dynamische Ausgabe in R-Markdown erfolgt mit f(x) = x^{`r n`} in folgenden Grenzen a=`r a` =und b=`r b`. Dies liefert als Ausgabe;

Das Integral soll in den Grenzen a=5 und b=7 bzgl. der Funktion berechnet werden.

Wenn man die obigen Variablen in eine mathematisch Formel dynamisch integrieren möchte, so liefert der folgende Quellcode in R-Markdown die gesuchte Ausgabe:

y:= \int_{a}^{b} f(x) \, dx = \int_{`r a`}^{`r b`} x^{`r n`} \, dx

Das Resultat der Ausgabe sieht dann wie folgt aus: Mit grundlegenden Kenntnissen aus der Integralrechnung kann man die Lösung des Integrals als Bruch berechnen. Die übertragen in R-Syntax, wird der Zähler und Nenner der berechneten Integral separat durch zwei Variable ausgedrückt.

vZaehler <- b^(n+1) - a^(n+1)  
vNenner  <- n+1

Die Lösung des Integrals als Bruch lautet r vZaehler r vNenner:

y= \frac{`r vZaehler`}{`r vNenner`}

Voraussetzungen und Ziele[Bearbeiten]

Für die Erstellung von individuellen Arbeitsblättern gehen wir von folgenden Voraussetzungen aus: * Klasse mit 32 Schülerinnen und Schülern aus, * alle Schülerinnen und Schülern bekommen individuelle Aufgabenblätten und Hilfen, * alle 32 Aufgabenblätter werden mit einem KnitR-Durchlauf erzeugt, * die Aufgaben- und Hilfenauswahl basieren auf Schülerdaten die in Tabellenform vorliegen und für Erzeugung von individuellen Aufgabenblättern als Eingabedaten für R verwendet werden.

Zufallszahlen[Bearbeiten]

Bei einem digitalen Arbeitsblatt bekommt jede Schülerinnen und jeder Schüler ein eigenes Aufgabenblatt und ggf. individuelle Hilfen und Lösungshinweise.

Zunächst wird die Generierung von individuellen Arbeitsblätter über Zufallszahlen umgesetzt. In einem späteren Schritt über die statistische Auswertung von Schülerdaten.

Der folgende Befehl erzeugt 10 Zufallszahlen für eine stetige Gleichverteilung (uniforme Verteilung) auf dem Intervall $ [5,99] $. Dabei entsteht ein Vektor mit 10 Zahlen aus $ [5,99]^{10} $ {r} runif(10, 5, 99) Für ganzzahlige Zufallszahlen kann man * runden oder {r} round(runif(10, 5, 99)) * die Gaußklammer anwenden. {r} floor(runif(10, 5, 99))

Zufällige Aufgaben mit Lösung[Bearbeiten]

Es zufällig ein Polynom 2. Grades mit ganzzahligen Koeffizienten generiert werden und dann soll die entsprechende Lösung ebenfalls in

Quellennachweis[Bearbeiten]

  1. Niehaus, E. (2023) KnitR4Education - erste KnitR-Beispiel für eine Wikiversity Lernressource - URL https://github.com/niebert/knitr4education/blob/main/de/knitr4education_demo01.Rmd