Vektoroperationen
Teil des Abschnitts Grundlagen der R-Journey von Coddy. Lektion 59 von 78.
Eine der leistungsfähigsten Funktionen von R ist die Möglichkeit, Operationen gleichzeitig auf ganzen Vektoren auszuführen, ohne jedes element durchlaufen zu müssen. Dadurch wird dein Code sowohl übersichtlicher als auch effizienter.
Wenn du einen arithmetischen Operator auf einen Vektor anwendest, führt R die Operation für jedes Element aus:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)Ausgabe:
[1] 9.0 22.5 13.5 27.0Du kannst auch Operationen zwischen zwei Vektoren gleicher Länge durchführen. R paart die entsprechenden Elemente:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)Ausgabe:
[1] 20 25 60 90R bietet nützliche integrierte Funktionen für gängige Vektorberechnungen wie sum(), mean(), min() und max():
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))Ausgabe:
[1] 438
[1] 87.6
[1] 78
[1] 95Aufgabe
EinfachDir werden die folgenden Vektoren bereitgestellt:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)Führe die folgenden Operationen durch und gib jedes Ergebnis aus:
- Berechne den Tagesverdienst für jeden Tag, indem du
hours_workedmithourly_ratemultiplizierst (elementweise). Gib diesen Vektor aus. - Wende auf alle Tagesverdienste einen Bonus von 10 % an (multipliziere mit
1.1). Gib den aktualisierten Verdienstvektor aus. - Gib den Gesamtverdienst für die Woche mit
sum()aus. - Gib den durchschnittlichen Tagesverdienst mit
mean()aus. - Gib den höchsten Tagesverdienst mit
max()aus. - Gib den niedrigsten Tagesverdienst mit
min()aus.
Deine Ausgabe sollte wie folgt aussehen:
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132Probier es selbst
# Gegebene Vektoren
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: Schreibe deinen Code darunter
# 1. Berechne die täglichen Einnahmen (elementweise Multiplikation)
# 2. Wende 10% Bonus auf die täglichen Einnahmen an
# 3. Gib die Gesamteinnahmen für die Woche mit sum() aus
# 4. Gib die durchschnittlichen täglichen Einnahmen mit mean() aus
# 5. Gib die höchsten Einnahmen an einem einzelnen Tag mit max() aus
# 6. Gib die niedrigsten Einnahmen an einem einzelnen Tag mit min() ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechner zum Teilen der Rechnung
BegrüßungsnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion13Fortgeschrittene Vektoren
Vektor-Slicing und -IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahliger DatentypZeichen-DatentypLogischer DatentypDatentypen überprüfenNamenskonventionenFehlende Werte: NAZusammenfassung – Variablen erstellen5Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Wiederholung – FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenWiederholung – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivision und ModuloZuweisungsoperatorenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit printcat zur AusgabeAusgabe mit VariablenEingaben mit readline() lesenGrundlagen der TypkonvertierungRückblick – AltersrechnerRückblick – Wahr oder falsch9Funktionen
Eine Funktion deklarierenFunktionsargumenteRückgabewerteWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardparameterwerteÜbe selbstständig: Online-R-Compiler