ベクトルの演算
CoddyのRジャーニー「基礎」セクションの一部。レッスン 59/78。
Rの最も強力な機能の1つは、各elementをループ処理する必要なく、ベクトル全体に対して一度に演算を実行できることです。これにより、コードがより簡潔かつ効率的になります。
ベクトルに算術演算子を適用すると、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を掛けて、各日の earnings を計算します(要素ごとの計算)。このベクトルを出力します。- すべての daily earnings に 10% の bonus を適用します(
1.1を掛けます)。更新された earnings ベクトルを出力します。 sum()を使用して、week の total earnings を出力します。mean()を使用して、average daily earnings を出力します。max()を使用して、highest single-day earnings を出力します。min()を使用して、lowest single-day earnings を出力します。
出力は次のようになります:
[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自分で試してみよう
# 与えられたベクトル
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: 以下にコードを書いてください
# 1. 日次の収入を計算する(要素ごとの乗算)
# 2. 日次の収入に10%のボーナスを適用する
# 3. sum()を使って週の合計収入を表示する
# 4. mean()を使って平均日次収入を表示する
# 5. max()を使って最高の1日の収入を表示する
# 6. min()を使って最低の1日の収入を表示するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rオンラインコンパイラ