第4章 Rベースで抽出・集計 ・ ノック 53 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[052 - グループ別に集計する]] ・ 次 → [[054 - 各列に関数を適用する]] > [!info] `apply()` で行または列に関数を適用する > `apply()` は行列やデータフレームに対して「行ごと」または「列ごと」に関数を適用する関数です。使い方は `apply(データ, 行か列か, 関数)` で、第2引数が `1` なら「行方向(各行に対して)」、`2` なら「列方向(各列に対して)」を意味します。数値の列のみを対象にする必要があるため、`iris[, 1:4]` で数値4列を選んでから渡します。 ## 問題 `iris` の数値4列(1〜4列目)について、`apply()` を使って列ごとの平均を求めてください。 > [!tip] ヒント > `apply(iris[, 1:4], 2, mean)` と書きます。`2` が「列ごと」の指定です。 > [!success]- 回答を見る > ```r > apply(iris[, 1:4], 2, mean) > ``` > ``` > Sepal.Length Sepal.Width Petal.Length Petal.Width > 5.843333 3.057333 3.758000 1.199333 > ``` > 4列それぞれの平均が一度に計算されました。第2引数を `1` に変えると、各行(各サンプル)の平均を求めることもできます。