Menu
Coddy logo textTech

ベクトルの演算

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 90

R には、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
challenge icon

チャレンジ

簡単

次のベクトルが与えられています:

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

次の操作を実行し、それぞれの結果を出力してください:

  1. hours_workedhourly_rate を掛けて、各日の earnings を計算します(要素ごとの計算)。このベクトルを出力します。
  2. すべての daily earnings に 10% の bonus を適用します(1.1 を掛けます)。更新された earnings ベクトルを出力します。
  3. sum() を使用して、week の total earnings を出力します。
  4. mean() を使用して、average daily earnings を出力します。
  5. max() を使用して、highest single-day earnings を出力します。
  6. 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日の収入を表示する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rオンラインコンパイラ