R の条件に基づいて列を合計する方法


次の基本構文を使用して、R の条件に基づいて列を合計できます。

 #sum values in column 3 where col1 is equal to 'A'
sum(df[ which (df$col1==' A '), 3])

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

 #create data frame
df <- data. frame (conference = c('East', 'East', 'East', 'West', 'West', 'East'),
                 team = c('A', 'A', 'A', 'B', 'B', 'C'),
                 points = c(11, 8, 10, 6, 6, 5),
                 rebounds = c(7, 7, 6, 9, 12, 8))

#view data frame
df

  conference team points rebounds
1 East A 11 7
2 East A 8 7
3 East A 10 6
4 West B 6 9
5 West B 6 12
6 East C 5 8

例 1: 条件に基づいて列を追加する

次のコードは、チームが「A」に等しい行のポイント列の合計を見つける方法を示しています。

 #sum values in column 3 (points column) where team is equal to 'A'
sum(df[ which (df$team==' A '), 3])

[1] 29

次のコードは、ポイントが 9 より大きい行のバウンス列の合計を見つける方法を示しています。

 #sum values in column 4 (rebounds column) where points is greater than 9
sum(df[ which (df$points > 9), 4])

[1] 13

例 2: 複数の条件に基づいて列を追加する

次のコードは、チームが「A」に等しくカンファレンスが「East」に等しい行のポイント列の合計を見つける方法を示しています。

 #sum values in column 3 (points column) where team is 'A' and conference is 'East'
sum(df[ which (df$team==' A ' & df$conference==' East '), 3])

[1] 29

&演算子は R の「and」を意味することに注意してください。

例 3: いくつかの条件の 1 つに基づいて列を追加します。

次のコードは、チームが「A」または「C」に等しい行のポイント列の合計を見つける方法を示しています。

 #sum values in column 3 (points column) where team is 'A' or 'C'
sum(df[ which (df$team == ' A ' | df$team ==' C '), 3])

[1] 34

|に注意してください。演算子は R の「または」を意味します。

追加リソース

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

R で特定の列を合計する方法
R の特定の行を合計する方法
Rでグループごとの合計を計算する方法

コメントを追加する

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