ベクトルの演算
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 59/78。
Rの最も強力な機能の1つは、各要素をループで処理することなく、ベクトル全体に対して一度に演算を実行できることです。これにより、コードがより簡潔で効率的になります。
ベクトルに算術演算子を適用すると、Rはすべての要素に対してその演算を実行します:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)出力:
[1] 9.0 22.5 13.5 27.0同じ長さの2つのベクトル間で演算を行うこともできます。Rは対応する要素をペアにします:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)出力:
[1] 20 25 60 90Rには、sum()、mean()、min()、max()のような、一般的なベクトル計算に便利な組み込み関数が用意されています:
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))出力:
[1] 438
[1] 87.6
[1] 78
[1] 95チャレンジ
簡単以下のベクトルが提供されています:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)以下の操作を実行し、それぞれの結果を出力してください:
hours_workedとhourly_rateを(要素ごとに)掛け合わせて、各日の日給を計算します。このベクトルを出力してください。- すべての日給に10%のボーナスを適用します(
1.1を掛けます)。更新された給与ベクトルを出力してください。 sum()を使用して、週の総収入を出力してください。mean()を使用して、1日の平均給与を出力してください。max()を使用して、1日の最高給与を出力してください。min()を使用して、1日の最低給与を出力してください。
出力は以下のようになるはずです:
[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チートシート
Rは、ループを必要とせずに、ベクトル全体に対して一度に演算を実行します。
ベクトルに算術演算子を適用すると、すべての要素に対して演算が実行されます:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1] 9.0 22.5 13.5 27.0同じ長さの2つのベクトル間の演算は、対応する要素をペアにします:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90ベクトル計算のための一般的な組み込み関数:
scores <- c(85, 92, 78, 95, 88)
sum(scores) # [1] 438
mean(scores) # [1] 87.6
min(scores) # [1] 78
max(scores) # [1] 95自分で試してみよう
# Given vectors
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: 以下にコードを記述してください
# 1. 1日の賃金を計算する(要素ごとの乗算)
# 2. 1日の賃金に10%のボーナスを適用する
# 3. sum() を使用して週の総賃金を表示する
# 4. mean() を使用して1日の平均賃金を表示する
# 5. max() を使用して1日の最高賃金を表示する
# 6. min() を使用して1日の最低賃金を表示するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。