Budgetplaner
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 63 von 64.
Aufgabe
SchwerVervollständige budget(lines). Die erste Zeile ist der Header month,type,amount und jede weitere Zeile ist ein Eintrag, wie etwa 2024-01,income,3000. Ein Eintrag ist gültig, wenn sein Typ income oder expense ist und sein Betrag eine Zahl größer als 0 ist; überspringe alle anderen Einträge.
Gib für jeden Monat in den gültigen Einträgen eine Zeile in der richtigen Reihenfolge zurück: 2024-01: income 3000.00, spent 1250.50, saved 1749.50, wobei saved dem Einkommen minus den Ausgaben entspricht (für einen Monat ohne Einkommen oder Ausgaben wird jeweils 0 gezählt). Füge anschließend Best month: mit dem Monat hinzu, in dem am meisten gespart wurde (bei Gleichstand den ersten), sowie Skipped: mit der Anzahl der übersprungenen Einträge.
Wenn kein Eintrag gültig ist, gib nur No valid entries und die Zeile Skipped zurück.
Der bereitgestellte Code übergibt jede Eingabezeile an budget() und gibt jede zurückgegebene Zeile aus.
Probier es selbst
budget <- function(lines) {
# Schreibe deinen Code hier
character(0)
}
# Bereitgestellter Ein-/Ausgabe-Code: belasse ihn unverändert
input <- suppressWarnings(readLines(file("stdin")))
cat(budget(input), sep = "\n")
Alle Lektionen in Logik und Ablaufsteuerung
1Strings im Detail
Teilstrings mit substr()Formatierung mit sprintf()Aufteilen und VerbindenStrings durchsuchenText ersetzenWiederholung – Benutzernamen-Generator4Matrizen
Matrizen erstellenMatrizen indizierenZusammenfassungen von Zeilen und SpaltenMatrizenarithmetikRückblick – Sitzplan10Fortgeschrittener Kontrollfluss
Die switch()-FunktionVektorisierter ifelse()repeat und breakRekursive FunktionenRückblick – Notenklassifizierung2Schlüssel-Wert-Suchen
Benannte Vektor-SuchenSchlüssel prüfenSchlüssel hinzufügen und entfernenNamen durchlaufenRückblick – Aktienübersicht5Projekt – Notenbuch
Schüler hinzufügenNoten eintragen3Mengen und Zählen
Eindeutige WerteMengenoperationenZugehörigkeitstestsZählen mit table()Rückblick – Gäste einer Veranstaltung6Funktionen als Werte
Anonyme FunktionenFunktionen übergebenFunktionen zurückgebenClosures mit ZustandRückblick – Rabattregeln9Datenrahmen
Datenrahmen erstellenSpalten und ZeilenZeilen filternHinzufügen und SortierenZusammenfassung – Verkaufsbericht12Projekt – Ausgaben-Tracker
Ausgaben erfassenGesamtausgabenÜbe selbstständig: Online-R-Compiler