R のグループごとのパーセンテージを計算する方法 (例あり)


次の構文を使用して、R のグループごとのパーセンテージを計算できます。

 library (dplyr)

df %>%
  group_by(group_var) %>%
  mutate(percent = value_var/sum(value_var))

次の例は、この構文を実際に使用する方法を示しています。

例: R のグループごとにパーセンテージを計算する

さまざまなチームのバスケットボール選手が獲得したポイントを示す次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 points=c(12, 29, 34, 14, 10, 11, 7, 36, 34, 22))

#view data frame
df

   team points
1 to 12
2 to 29
3 to 34
4 to 14
5 to 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22

次のコードを使用して、チームごとにグループ化された総得点の割合を表示する新しい列をデータ フレームに作成できます。

 library (dplyr)

#calculate percentage of points scored, grouped by team
df %>%
  group_by(team) %>%
  mutate(percent = points/sum(points))

# A tibble: 10 x 3
# Groups: team [2]
   team points percent
        
 1 to 12 0.121 
 2 A 29 0.293 
 3 A 34 0.343 
 4 A 14 0.141 
 5 A 10 0.101 
 6 B 11 0.1   
 7 B 7 0.0636
 8 B 36 0.327 
 9 B 34 0.309 
10 B 22 0.2 

「パーセンテージ」列は、チーム内でこのプレーヤーが獲得した合計ポイントのパーセンテージを示します。

たとえば、チーム A のプレーヤーは合計99ポイントを獲得しました。

したがって、 12ポイントを獲得したデータ フレームの最初の行のプレーヤーは、合計 12/99 = チーム A の合計ポイントの12.12%を獲得したことになります。

同様に、 29ポイントを獲得したデータベースの 2 列目のプレーヤーは、合計 29/99 = チーム A の合計ポイントの29.29%を獲得しました。

等々。

追加リソース

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

Rでグループごとに一意の値をカウントする方法
R でグループごとの要約統計量を計算する方法
Rでグループごとの合計を計算する方法

コメントを追加する

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