Programming lesson
STAT 311 Programmieraufgabe 0: Erste Schritte mit R – Vektoren, Strings, Funktionen und Fehlerbehebung
Lerne die Grundlagen von R für STAT 311: Vektoren, Strings, Daten einlesen, Fehler beheben und eigene Funktionen schreiben. Mit praktischen Beispielen und Tipps für die Abgabe auf Gradescope.
Einführung in die R-Programmierung für STAT 311
Die Programmieraufgabe 0 in STAT 311 ist der erste Schritt, um mit der statistischen Programmiersprache R vertraut zu werden. Diese Aufgabe deckt grundlegende Konzepte ab: das Erstellen von Vektoren, Strings, das Einlesen von Daten und das Schreiben eigener Funktionen. Besonders wichtig ist der korrekte Umgang mit Arbeitsverzeichnissen und die Vermeidung von Syntaxfehlern. In diesem Tutorial lernst du Schritt für Schritt, wie du die Aufgaben löst und typische Fallstricke vermeidest.
1. Vektoren in R erstellen: myVector
Ein Vektor ist die grundlegende Datenstruktur in R. Für Teil 1 der Aufgabe erstellst du einen Vektor namens myVector mit den Werten 1, 2, 3, 4 und 7. Das geht mit der Funktion c():
myVector <- c(1, 2, 3, 4, 7)Beachte: Der letzte Wert ist 7, nicht 5. Das ist eine typische „Abweichung“, die in der Praxis vorkommt – ähnlich wie bei einem Sportereignis, bei dem ein Team unerwartet die Reihenfolge ändert. Denk an die Fußball-EM 2024, wo ein Außenseiter die Gruppenphase überrascht hat – solche Unregelmäßigkeiten sind normal und müssen präzise umgesetzt werden.
2. Strings speichern: myString mit deinem Namen
Ein String ist eine Zeichenkette. In Teil 2 speicherst du deinen Namen in der Variable myString. Verwende Anführungszeichen:
myString <- "Max Mustermann"Setze hier deinen eigenen Namen ein. Achte darauf, dass der String genau so geschrieben ist, wie du ihn später in der Abgabe verwenden möchtest.
3. Den versteckten Wert HWOP3 finden
Teil 3 erfordert, dass du den EdStem-Beitrag „Rule #1- Resolving Gradescope Submission Issues“ liest. Dort findest du einen versteckten Wert für HWO. Speichere ihn in der Variable HWOP3. Das ist ein wichtiger Schritt, um zu zeigen, dass du die Kommunikationskanäle des Kurses nutzt – eine Fähigkeit, die in der heutigen digitalen Lernumgebung unerlässlich ist, ähnlich wie das Verfolgen von Updates in einer beliebten App wie TikTok oder Instagram, um keine wichtigen Änderungen zu verpassen.
4. Fehlerbehebung im bereitgestellten Code
In Teil 4 behebst du Fehler im vorgegebenen Code, ohne die Werte oder Variablennamen zu ändern. Ein häufiger Fehler ist die Verwendung von globalen Pfaden oder das Fehlen von Klammern. Beispiel: Wenn der Code data <- read.csv("C:/Users/...") enthält, änderst du ihn in data <- read.csv("SampleData.csv") und setzt das Arbeitsverzeichnis mit setwd() in der Konsole. Prüfe auch auf fehlende Klammern oder falsche Funktionsnamen.
5. Funktion schreiben: myFunction zur Zeilensumme
Teil 5 ist der anspruchsvollste Teil: Du schreibst eine Funktion myFunction, die eine 3x3-Matrix oder einen Dataframe als Eingabe nimmt und einen Vektor mit den Zeilensummen zurückgibt. Mit der Funktion rowSums() geht das einfach:
myFunction <- function(data) {
return(rowSums(data))
}Teste die Funktion mit der bereitgestellten Datei SampleData.csv, die in der Variable sampleData1 gespeichert ist. Lade die Daten mit read.csv() und rufe die Funktion auf:
sampleData1 <- read.csv("SampleData.csv")
result <- myFunction(sampleData1)
print(result)Dieses Beispiel erinnert an die Berechnung von Punkteständen in einem Gaming-Turnier: Jede Zeile könnte ein Spieler sein, und die Spalten sind die Punkte pro Runde – die Zeilensumme ergibt die Gesamtpunktzahl.
Tipps für die Abgabe auf Gradescope
- Dateiname: Deine Abgabe muss
STAT311-HWO.Rheißen. - Arbeitsverzeichnis: Verwende
setwd()nur in der Konsole, nicht im Skript. Lese Daten nur mit Dateinamen ein, ohne Pfade. - Variablen: Überschreibe keine vorgegebenen Variablen – der Autograder erwartet sie.
- Syntax-Check: Setze die R-Umgebung zurück und führe das gesamte Skript aus, um Fehler zu vermeiden.
- Versteckte Tests: Ein Punkt ist versteckt und testet deine Funktion – stelle sicher, dass sie korrekt arbeitet.
Häufige Fehler und wie du sie vermeidest
Viele Studierende scheitern an der Verwendung globaler Pfade. Denk daran: Dein Skript muss auf jedem Rechner laufen, daher nur Dateinamen verwenden. Ein weiterer Fehler ist das Überschreiben von Variablen – zum Beispiel myVector <- c(1,2,3,4,5) statt der geforderten 7. Prüfe jede Zeile genau. Auch das Vergessen von Anführungszeichen bei Strings führt zu Fehlern.
Fazit
Mit diesem Tutorial hast du die Grundlagen für die STAT 311 Programmieraufgabe 0 gemeistert. Übe die Schritte und achte auf Details – dann klappt auch die Abgabe auf Gradescope. Viel Erfolg!