Rでsumif関数を実行する方法


多くの場合、特定の基準を満たす R データ フレーム内の行の合計のみを検索したい場合があります。幸いなことに、これは次の基本構文を使用して簡単に実行できます。

 aggregate(col_to_sum ~ col_to_group_by, data=df, sum )

次の例は、次のデータ フレームでこの構文を使用する方法を示しています。

 #create data frame
df <- data. frame (team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4),
                 blocks=c(1, 2, 2, 1, 0, 4, 1))

#view data frame
df

  team pts rebs blocks
1 to 5 8 1
2 to 8 8 2
3 b 14 9 2
4 b 18 3 1
5 b 5 8 0
6 c 7 7 4
7 c 7 4 1

例 1: 列に対して SUMIF 関数を実行する

次のコードは、各チームのポイントの合計を見つける方法を示しています。

 aggregate(pts ~ team, data=df, sum )

  team pts
1 to 13
2 b 37
3 v 14

例 2: 複数の列に対して SUMIF 関数を実行する

次のコードは、各チームのポイントとリバウンドの合計を求める方法を示しています。

 aggregate(cbind(pts, rebs) ~ team, data=df, sum )

team pts rebs
1 to 13 16
2 b 37 20
3 c 14 11

例 3: すべての列に対して SUMIF 関数を実行する

次のコードは、各チームのデータ フレーム内のすべての列の合計を見つける方法を示しています。

 aggregate(.~team, data=df, sum )

  team pts rebs blocks
1 to 13 16 3
2 b 37 20 3
3 c 14 11 5

注:ドット ( . ) は、「すべての」列を表すために R で使用されます。

追加リソース

RでCOUNTIF関数を実行する方法
R で特定の列を合計する方法
R の特定の行を合計する方法

コメントを追加する

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