R で tapply() 関数を使用する方法 (例付き)


R のtapply()関数を使用すると、別のベクトルでグループ化されたベクトルに関数を適用できます。

この関数は次の基本構文を使用します。

タッパー(X、INDEX、FUN、..)

金:

  • X : 関数を適用するベクトル
  • INDEX : グループ化するベクトル
  • FUN : 適用する機能

次の例は、R の次のデータ フレームでこの関数を実際に使用する方法を示しています。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(14, 19, 13, 8, 15, 15, 17, 19),
                 assists=c(4, 3, 3, 5, 9, 14, 15, 12))

#view data frame
df

  team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12

例 1: 変数ごとにグループ化された変数に関数を適用する

次のコードは、 tapply()関数を使用して、チームごとにグループ化された平均ポイント値を計算する方法を示しています。

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean)

   AB
13.5 16.5

結果から次のことがわかります。

  • チーム A の平均ポイント値は13.5です。
  • チーム B の平均ポイント値は16.5です。

データ フレーム内の NA 値を無視して平均を計算することを示すために、関数の後にna.rmなどの追加の引数を含めることもできることに注意してください。

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )

   AB
13.5 16.5

例 2: 複数の変数でグループ化された変数に関数を適用する

次のコードは、 tapply()関数を使用して、チームポジションごとにグループ化された平均ポイント値を計算する方法を示しています。

 # calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )

FG
A 10.5 16.5
B 18.0 15.0

結果から次のことがわかります。

  • チーム A とポジション F の平均ポイント値は10.5です。
  • チーム A とポジション G の平均ポイント値は16.5です。
  • チーム B とポジション F の平均ポイント値は18.0です。
  • チーム B とポジション G の平均ポイント値は15.0です。

: この例では 2 つの変数でグループ化していますが、 list()関数に必要なだけ変数を含めて、さらに多くの変数をグループ化することができます。

追加リソース

次のチュートリアルでは、R の他の一般的な関数の使用方法について説明します。

R で dim() 関数を使用する方法
Rでtable()関数を使用する方法
Rでsign()関数を使用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です