Menu
Coddy logo textTech

Vektoroperationen

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 59 von 78.

Eine der leistungsfähigsten Funktionen von R ist die Fähigkeit, Operationen auf ganzen Vektoren gleichzeitig auszuführen, ohne jedes einzelne Element in einer Schleife durchlaufen zu müssen. Dies macht Ihren Code sowohl sauberer als auch effizienter.

Wenn Sie einen arithmetischen Operator auf einen Vektor anwenden, 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.0

Sie können auch Operationen zwischen zwei Vektoren der gleichen Länge durchführen. R bildet Paare aus den entsprechenden Elementen:

quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)

Ausgabe:

[1] 20 25 60 90

R 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] 95
challenge icon

Aufgabe

Einfach

Ihnen werden die folgenden Vektoren zur Verfügung gestellt:

hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

Führen Sie die folgenden Operationen aus und geben Sie jedes Ergebnis aus:

  1. Berechnen Sie den täglichen Verdienst für jeden Tag, indem Sie hours_worked mit hourly_rate multiplizieren (elementweise). Geben Sie diesen Vektor aus.
  2. Wenden Sie einen Bonus von 10 % auf alle täglichen Verdienste an (multiplizieren Sie mit 1.1). Geben Sie den aktualisierten Verdienstvektor aus.
  3. Geben Sie den Gesamtverdienst für die Woche mit sum() aus.
  4. Geben Sie den durchschnittlichen täglichen Verdienst mit mean() aus.
  5. Geben Sie den höchsten Einzelverdienst eines Tages mit max() aus.
  6. Geben Sie den niedrigsten Einzelverdienst eines Tages mit min() aus.

Ihre 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] 132

Spickzettel

R führt Operationen auf ganzen Vektoren gleichzeitig aus, ohne dass Schleifen erforderlich sind.

Das Anwenden eines arithmetischen Operators auf einen Vektor führt die Operation für jedes Element aus:

prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1]  9.0 22.5 13.5 27.0

Operationen zwischen zwei Vektoren der gleichen Länge verknüpfen die entsprechenden Elemente:

quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90

Gängige integrierte Funktionen für Vektorberechnungen:

scores <- c(85, 92, 78, 95, 88)
sum(scores)    # [1] 438
mean(scores)   # [1] 87.6
min(scores)    # [1] 78
max(scores)    # [1] 95

Probier es selbst

# Gegebene Vektoren
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

# TODO: Schreiben Sie Ihren Code unten

# 1. Täglichen Verdienst berechnen (elementweise Multiplikation)

# 2. 10 % Bonus auf den täglichen Verdienst anwenden

# 3. Gesamtverdienst für die Woche mit sum() ausgeben

# 4. Durchschnittlichen täglichen Verdienst mit mean() ausgeben

# 5. Höchsten Tagesverdienst mit max() ausgeben

# 6. Niedrigsten Tagesverdienst mit min() ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen