Ggplot2でグループごとに平均線をプロットする方法


次の基本構文を使用して、ggplot2 でグループごとの平均線をプロットできます。

 #calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team))

この特定の例では、アシストとアシストの散布図を作成します。変数アシストPoints を追加し、チーム変数によってグループ化されたポイントの平均値を表す線を追加します。

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

例: ggplot2 でのグループごとの平均線のプロット

R に、3 つの異なるチームのバスケットボール選手のポイントとアシストに関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 5 ),
                 assists=c(2, 4, 4, 5, 6, 6, 7, 7,
                           8, 9, 7, 8, 13, 14, 12),
                 dots=c(8, 8, 9, 9, 10, 9, 12, 13,
                          14, 15, 14, 14, 16, 19, 22))

#view data frame
df

   team assists points
1 to 2 8
2 to 4 8
3 to 4 9
4 to 5 9
5 to 6 10
6 B 6 9
7 B 7 12
8 B 7 13
9 B 8 14
10 B 9 15
11 C 7 14
12 C 8 14
13 C 13 16
14 C 14 19
15 C 12 22

次のコードを使用して、アシストとアシストの散布図を作成できます。変数。 Points を追加し、チーム変数によってグループ化されたポイントの平均値を表す線を追加します。

 library (dplyr)
library (ggplot2)

#calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team)) 

ggplot グループごとの平均線

3 本の線は色分けされ、各チームの平均ポイント値が表示されます。

作成したMean_Teamデータ フレームを表示して、各チームの実際の平均ポイント値を確認できます。

 #view mean points value by team
mean_team

`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 3 x 2
  team mean_pts
      
1 to 8.8
2 B 12.6
3 C 17

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

  • Aチームの選手の平均得点は8.8。
  • チームBの選手の平均得点は12.6。
  • チーム C の選手の平均得点値は17 です。

これらの値は、作成した散布図の Y 軸上の線の位置に対応します。

追加リソース

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

R で相対頻度ヒストグラムを作成する方法
R で 1 つのグラフに複数の箱ひげ図をプロットする方法
R でグラフに複数の線をプロットする方法

コメントを追加する

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