ホッケー選手の成長:今世紀のすべての世界選手権のデータを分析します














先日、次の世界ホッケー選手権が終了しました。







試合を見ながら、アイデアが生まれました。 休憩中にテレビカメラがロッカールームに向かっているプレーヤーを示すとき、彼らがどれほど巨大であるかに気付かないのは難しいです。 コーチ、チームの機能、アイスアリーナの従業員、ジャーナリストまたはファンだけを背景に、彼らは通常非常に印象的に見えます。







ここでは、例えば、フィンランドのホッケーの新星、パトリック・レイン、アレクサンダー・バルコフ、そして忠実なファン






出所







そして、私は疑問に思いました。 ホッケー選手は普通の人より上ですか? ホッケー選手の成長は、一般の人々と比べて時間とともにどのように変化しますか? 永続的なクロスカントリーの違いはありますか?







データ



世界のホッケー選手権を主催する組織であるIIHFは、毎年、参加選手のラインナップと各選手の身長と体重に関する情報を公開しています。 このデータのアーカイブはこちらです。







2001年から2016年までのすべての世界選手権のデータを集めました。 年々、データを提供するための形式はわずかに変更されており、データをクリーンアップするには多少の努力が必要です。 プロセスを正しく自動化する方法を想像することなく、すべてのデータを手動でコピーしました。これには3時間強かかりました。 結合されたデータセットは公開ています。







Rコード。 仕事の準備、データの読み込み
# load required packages require(dplyr) # data manipulation require(lubridate) # easy manipulations with dates require(ggplot2) # visualization require(ggthemes) # themes for ggplot2 require(cowplot) # nice alignment of the ggplots require(RColorBrewer) # generate color palettes require(texreg) # easy export of regression tables require(xtable) # export a data frame into an html table # download the IIHF data set; if there are some problems, you can download manually # using the stable URL (https://dx.doi.org/10.6084/m9.figshare.3394735.v2) df <- read.csv('https://ndownloader.figshare.com/files/5303173') # color palette brbg11 <- brewer.pal(11,'BrBG')
      
      





ホッケー選手は成長していますか? 大まかな(定期的な)比較



そもそも、16の全世界選手権でのプレーヤーの平均成長率を比較します。













Rコード。 図1. 2001〜2016年の世界選手権でのホッケー選手の平均成長率の変化。
 # mean height by championship df_per <- df %>% group_by(year) %>% summarise(height=mean(height)) gg_period_mean <- ggplot(df_per, aes(x=year,y=height))+ geom_point(size=3,color=brbg11[9])+ stat_smooth(method='lm',size=1,color=brbg11[11])+ ylab('height, cm')+ xlab('year of competition')+ scale_x_continuous(breaks=seq(2005,2015,5),labels=seq(2005,2015,5))+ theme_few(base_size = 15)+ theme(panel.grid=element_line(colour = 'grey75',size=.25)) gg_period_jitter <- ggplot(df, aes(x=year,y=height))+ geom_jitter(size=2,color=brbg11[9],alpha=.25,width = .75)+ stat_smooth(method='lm',size=1,se=F,color=brbg11[11])+ ylab('height, cm')+ xlab('year of competition')+ scale_x_continuous(breaks=seq(2005,2015,5),labels=seq(2005,2015,5))+ theme_few(base_size = 15)+ theme(panel.grid=element_line(colour = 'grey75',size=.25)) gg_period <- plot_grid(gg_period_mean,gg_period_jitter)
      
      





前向きな傾向は明らかです。 10年半にわたって、ワールドカップでのホッケー選手の平均成長は、ほぼ2センチメートル増加しました(左のパネル)。 かなり大きなバリエーションを背景にわずかに増加するように(右パネル)。 それはたくさんですか、それとも少しですか? 質問に答えるには、母集団と正しく比較する必要があります(ただし、これについては記事の最後で詳しく説明します)。







コホート分析



成長の変化を研究するより正確な方法には、出生コホートの比較が含まれます。 ここで私たちは奇妙なニュアンスに直面しています-一部のホッケー選手は複数の世界選手権に参加しました。 質問:同じ人の重複した録音を削除しますか? チャンピオンシップでのホッケー選手の平均的な成長に興味がある場合(上の写真のように)、クリアすることはおそらく意味がありません。 しかし、ホッケー選手の成長の変化を追跡したい場合、私の意見では、定期的に世界選手権に出場した選手により多くのウェイトを割り当てるのは間違っているでしょう。 したがって、さらに分析するために、同じプレーヤーの繰り返しのエントリからデータを消去しました。







Rコード。 コホート分析のためのデータの準備
 # remove double counts dfu_h <- df %>% select(year,name,country,position,birth,cohort,height) %>% spread(year,height) dfu_h$av.height <- apply(dfu_h[,6:21],1,mean,na.rm=T) dfu_h$times_participated <- apply(!is.na(dfu_h[,6:21]),1,sum) dfu_w <- df %>% select(year,name,country,position,birth,cohort,weight) %>% spread(year,weight) dfu_w$av.weight <- apply(dfu_w[,6:21],1,mean,na.rm=T) dfu <- left_join(dfu_h %>% select(name,country,position,birth,cohort,av.height,times_participated), dfu_w %>% select(name,country,position,birth,cohort,av.weight), by = c('name','country','position','birth','cohort')) %>% mutate(bmi = av.weight/(av.height/100)^2)
      
      





観測の総数は6292から3333に減少しました。ホッケー選手が複数の世界選手権に参加した場合、個々のホッケー選手の身長と(特に)体重は時間とともに変化する可能性があるため、身長と体重のデータを平均しました。 ホッケー選手は、世界選手権でナショナルチームのプレーの名誉を何回獲得しますか? 平均して2倍弱。













Rコード。 図2.ワールドカップへの参加数によるホッケー選手の分布のヒストグラム
 # frequencies of participation in world championships mean(dfu$times_participated) df_part <- as.data.frame(table(dfu$times_participated)) gg_times_part <- ggplot(df_part,aes(y=Freq,x=Var1))+ geom_bar(stat='identity',fill=brbg11[9])+ ylab('# of players')+ xlab('times participated (out of 16 possible)')+ theme_few(base_size = 15)
      
      





しかし、ユニークなものがあります。 少なくとも10の世界選手権に参加したプレーヤーを見てみましょう。 そのようなプレーヤーは14人いました。







Rコード。 表1.世界選手権リーダー
 # the leaders of participation in world championships # save the table to html leaders <- dfu %>% filter(times_participated > 9) View(leaders) print(xtable(leaders), type="html", file="table_leaders.html")
      
      





お名前 位置 誕生 コホート 身長 times_participated 平均重量 BMI
1 オベチキン・アレキサンダー RUS F 1985-09-17 1985 188.45 11 98.36 27.70
2 ニールセン・ダニエル デン D 1980-10-31 1980 182.27 11 79.73 24.00
3 スタール・キム デン F 1978-03-10 1978 182.00 10 87.80 26.51
4 グリーンモーテン デン F 1981-03-19 1981 183.00 12 85.83 25.63
5 マサルスキエドガーズ ラット G 1980-03-31 1980 176.00 12 79.17 25.56
6 アンブール・アンドレス すい F 1983-09-14 1983 176.80 10 83.70 26.78
7 グラナク・ドミニク SVK D 1983-06-11 1983 182.00 10 79.50 24.00
8 マッドセン・モーテン デン F 1987-01-16 1987 189.82 11 86.00 23.87
9 レッドリー・ミケリス ラット F 1984-07-01 1984 180.00 10 80.40 24.81
10 Cipulis Martinins ラット F 1980-11-29 1980 180.70 10 82.10 25.14
11 ホロス・ジョナス また D 1987-08-27 1987 180.18 11 91.36 28.14
12 バスティアンセン・アンダース また F 1980-10-31 1980 190.00 11 93.64 25.94
13 モルテンに尋ねる また F 1980-05-14 1980 185.00 10 88.30 25.80
14 フォルスバーグ・クリスチャン また F 1986-05-05 1986 184.50 10 87.50 25.70


アレクサンダーオベチキン、11回! しかし、ここでは、原則として、すべてのホッケープレーヤーが16のすべてのチャンピオンシップに参加することは不可能であったことに注意する必要があります。 3)そして、プレーヤーが代表チームに安定して入ったかどうか。 最後に、NHLが、世界選手権への参加から最高のベストを安定的にそらします。













Rコード。 図3. 2001〜2016年の世界ホッケー選手権への代表チームの参加。
 # countries times participated df_cnt_part <- df %>% select(year,country,no) %>% mutate(country=factor(paste(country))) %>% group_by(country,year) %>% summarise(value=sum(as.numeric(no))) %>% mutate(value=1) %>% ungroup() %>% mutate(country=factor(country, levels = rev(levels(country))), year=factor(year)) d_cnt_n <- df_cnt_part %>% group_by(country) %>% summarise(n=sum(value)) gg_cnt_part <- ggplot(data = df_cnt_part, aes(x=year,y=country))+ geom_point(color=brbg11[11],size=7)+ geom_text(data=d_cnt_n,aes(y=country,x=17.5,label=n,color=n),size=7,fontface=2)+ geom_text(data=d_cnt_n,aes(y=country,x=18.5,label=' '),size=7)+ scale_color_gradientn(colours = brbg11[7:11])+ xlab(NULL)+ ylab(NULL)+ theme_bw(base_size = 25)+ theme(legend.position='none', axis.text.x = element_text(angle = 90, hjust = 1,vjust=0.5))
      
      





ホッケー選手は成長していますか? 回帰分析



回帰分析を使用すると、プレーヤーの成長の変化に関する質問により正確に答えることができます。 この場合、多項線形回帰を使用して、出生コホートに応じてホッケー選手の成長が予測されます。 回帰モデルの仕様にさまざまな追加(制御)変数を含めると、最も興味深い係数「セテリスパリバス」の値が得られます。 たとえば、説明変数に加えて、出生コホート、フィールドでのプレイヤーの位置に加えて、成長とコホートの関係を取得し、位置による違いの影響をクリアします。 国の制御変数に追加すると、結果が得られ、国間の違いが解消されます。 もちろん、制御変数自体が重要な場合、これも注意する価値があります。

回帰モデル(特に線形回帰)は、外れ値に非常に敏感です(たとえば、 この記事を参照 )。 この広範なトピックに深く入ることなく、代表者が少なすぎるコホートを分析から削除しました。







Rコード。 小さなコホートを削除します
 # remove small cohorts table(dfu$cohort) dfuc <- dfu %>% filter(cohort<1997,cohort>1963)
      
      





データをあまりカットしたくないので、プレイヤーが10人未満の1963年、1997年、1998年のコホートのみを削除しました。







だから、回帰分析の結果。 次の各モデルでは、1つの変数を追加します。

従属変数 :ホッケー選手の成長。

説明変数 :1)出生コホート。 2)+フィールド上の位置(ディフェンダーとの比較); 3)+国(ロシアとの比較)。







Rコード。 表2.回帰分析の結果
 # relevel counrty variable to compare with Russia dfuc$country <- relevel(dfuc$country,ref = 'RUS') # regression models m1 <- lm(data = dfuc,av.height~cohort) m2 <- lm(data = dfuc,av.height~cohort+position) m3 <- lm(data = dfuc,av.height~cohort+position+country) # export the models to html htmlreg(list(m1,m2,m3),file = 'models_height.html',single.row = T)
      
      





統計モデル
モデル1 モデル2 モデル3
(傍受) -10.17(27.67) -18.64(27.01) 32.59(27.00)
コホート 0.10(0.01) *** 0.10(0.01) *** 0.08(0.01) ***
positionF -2.59(0.20) *** -2.59(0.20) ***
位置G -1.96(0.31) *** -1.93(0.30) ***
countryAUT -0.94(0.55)
countryBLR -0.95(0.53)
countryCAN 1.13(0.46) *
countryCZE 0.56(0.49)
国DEN -0.10(0.56)
countryFIN 0.20(0.50)
countryFRA -2.19(0.69) **
countryGER -0.61(0.51)
countryHUN -0.61(0.86)
countryITA -3.58(0.61) ***
countryJPN -5.24(0.71) ***
国KAZ -1.16(0.57) *
countryLAT -1.38(0.55) *
countryNOR -1.61(0.62) **
countryPOL 0.06(1.12)
countrySLO -1.55(0.58) **
countrySUI -1.80(0.53) ***
countrySVK 1.44(0.50) **
countrySWE 1.18(0.48) *
countryUKR -1.82(0.59) **
国USA 0.54(0.45)
R 2 0.01 0.06 0.13
調整 R 2 0.01 0.06 0.12
数 obs。 3319 3319 3319
Rmse 5.40 5.27 5.10
*** p <0.001、 ** p <0.01、 * p <0.05


モデルの解釈



モデル1 コホートの1年間の増加は、ホッケー選手の成長の0.1 cmの増加に対応します。係数は統計的に有意ですが、モデルは従属変数の変動の1%のみを説明します。 原則として、これは問題ではありません。シミュレーションは本質的に説明的であるため、予測のタスクは提示されません。 ただし、低い決定係数は、高さのホッケー選手間の違いをよりよく説明する他の変数があるべきであることを示します。







モデル2 ディフェンダーはホッケーの最高選手です。 ゴールキーパーは2 cm低く、攻撃者は2.6 cm低く、すべての確率は統計的に有意です。 説明されている従属変数の変動は6%に増加します。 この場合、可変出生コホートの係数は変化しません。







モデル3 。 国に制御変数を追加することは、2つの理由で興味があります。 まず、いくつかの違いは統計的に有意であり、それ自体が興味深いものです。 たとえば、スウェーデン人、スロバキア人、カナダ人は、私たちのプレーヤーよりも統計的に著しく高いです。 ほとんどの国は私たちよりはるかに低く、日本人は5.2 cm、イタリア人は3.6 cm、フランス人は2.2 cmです(図4も参照)。 第二に、国への制御変数の導入は、変数の出生コホートの係数を0.08に大幅に削減します。 これは、クロスカントリーの違いが出生コホートの違いの一部を説明することを意味します。 モデルの決定係数は13%に増加します。







Rコード。 図4.国別のホッケー選手の成長


 # players' height by country gg_av.h_country <- ggplot(dfuc ,aes(x=factor(cohort),y=av.height))+ geom_point(color='grey50',alpha=.25)+ stat_summary(aes(group=country),geom='line',fun.y = mean,size=.5,color='grey50')+ stat_smooth(aes(group=country,color=country),geom='line',size=1)+ #geom_hline(yintercept = mean(height),color='red',size=.5)+ facet_wrap(~country,ncol=4)+ coord_cartesian(ylim = c(170,195))+ scale_x_discrete(labels=paste(seq(1965,1995,10)),breaks=paste(seq(1965,1995,10)))+ theme_few(base_size = 15)+ theme(legend.position='none', panel.grid=element_line(colour = 'grey75',size=.25))
      
      





最も完全なモデルは、ホッケー選手の成長が年間0.08 cmの割合で増加することを示しています。 これは、1964年から1996年までの32年間で10年ごとに0.8 cmまたは2.56 cm増加することを意味します。制御変数を考慮すると、ホッケー選手の成長率は平均値のより粗い分析よりも約1.5倍低いことに注意してください(図1): 10年ごとに0.8 cm対約1.2 cm。







成長の増加がどれほど重要であるかを最終的に理解しようとする前に、もう1つの興味深い点に注意を払いたいと思います。 制御変数の導入は、回帰直線の単一の勾配(主な説明変数の単一の係数)を使用してカテゴリ間の違いを修正することを意味します。 これは常に良いとは限らず、サブサンプルで調査された変数間の関係の緊密さの大きな違いを隠すことができます。 たとえば、プレーヤーの成長が役割に依存していることを示す別のシミュレーション(図5)は、関係がゴールキーパーで最も顕著であり、ディフェンダーで最も目立たないことを示しています。









Rコード。 図5.ディフェンダー、フォワード、ゴールキーパーの成長とコホートの相関
 dfuc_pos <- dfuc levels(dfuc_pos$position) <- c('Defenders','Forwards','Goalkeeprs') gg_pos <- ggplot(dfuc_pos ,aes(x=cohort,y=av.height))+ geom_jitter(aes(color=position),alpha=.5)+ stat_smooth(method = 'lm', se = T,color=brbg11[11],size=1)+ scale_x_continuous(labels=seq(1965,1995,5),breaks=seq(1965,1995,5))+ scale_color_manual(values = brbg11[c(8,4,10)])+ facet_wrap(~position,ncol=3)+ xlab('birth cohort')+ ylab('height, cm')+ theme_few(base_size = 20)+ theme(legend.position='none', panel.grid=element_line(colour = 'grey75',size=.25))
      
      





Rコード。 表3.ディフェンダー、フォワード、ゴールキーパーのサブサンプル用のモデル3
 # separate models for positions m3d <- lm(data = dfuc %>% filter(position=='D'),av.height~cohort+country) m3f <- lm(data = dfuc %>% filter(position=='F'),av.height~cohort+country) m3g <- lm(data = dfuc %>% filter(position=='G'),av.height~cohort+country) htmlreg(list(m3d,m3f,m3g),file = '2016/160500 Hockey players/models_height_pos.html',single.row = T, custom.model.names = c('Model 3 D','Model 3 F','Model 3 G'))
      
      





統計モデル
モデル3 D モデル3 F モデル3 G
(傍受) 108.45(46.46) * 49.32(36.73) -295.76(74.61) ***
コホート 0.04(0.02) 0.07(0.02) *** 0.24(0.04) ***
countryAUT 0.14(0.96) -2.01(0.75) ** 0.47(1.47)
countryBLR 0.30(0.87) -1.53​​(0.73) * -2.73(1.55)
countryCAN 1.55(0.78) * 0.39(0.62) 3.45(1.26) **
countryCZE 0.87(0.84) 0.30(0.67) 0.63(1.36)
国DEN -0.60(0.95) 0.10(0.75) -0.19(1.62)
countryFIN -0.55(0.89) -0.04(0.67) 2.40(1.32)
countryFRA -3.34(1.15) ** -2.06(0.93) * 1.39(2.07)
countryGER 0.48(0.85) -1.40(0.72) -0.65(1.33)
countryHUN -1.32(1.47) -0.70(1.16) 0.65(2.39)
countryITA -2.08(1.08) -4.78(0.82) *** -2.02(1.62)
countryJPN -4.13(1.26) ** -6.52(0.94) *** -2.27(1.98)
国KAZ -1.23(0.95) -1.82(0.79) * 1.79(1.58)
countryLAT -0.73(0.95) -1.39(0.75) -3.42(1.49) *
countryNOR -3.25(1.07) ** -1.06(0.85) -0.10(1.66)
countryPOL 0.82(1.89) -0.58(1.55) 0.37(2.97)
countrySLO -1.57(0.99) -1.54(0.79) -2.25(1.66)
countrySUI -1.98(0.91) * -2.36(0.71) *** 1.12(1.47)
countrySVK 2.94(0.87) *** 0.81(0.67) -0.70(1.50)
countrySWE 0.75(0.81) 1.24(0.65) 1.37(1.33)
countryUKR -1.37(1.01) -1.77(0.80) * -3.71(1.66) *
国USA 0.76(0.78) -0.08(0.62) 2.58(1.26) *
R 2 0.09 0.10 0.24
調整 R 2 0.07 0.09 0.20
数 obs。 1094 1824 401
Rmse 5.08 5.08 4.87
*** p <0.001、 ** p <0.01、 * p <0.05


別のモデリングでは、1964年から1996年の出生時のコホートでは、2001年から2016年の世界選手権に参加するホッケー選手の平均成長率が、防御側では小数あたり0.4 cm、攻撃側では0.7 cm、(!)ゴールキーパー。 30年以上にわたり、ゴールキーパーの平均成長率は7 cm増加しました!







これらの変化を人口平均と比較する時が来ました。







人口との比較



回帰分析の結果は、重要なクロスカントリーの違いを記録しています。 したがって、特定の国のホッケー選手と同じ国の男性人口とを国ごとに比較するのは理にかなっています。







ホッケー選手の成長を平均的な男性人口と比較するために、 関連する科学記事PDF )のデータを使用しました。 記事からデータをコピーし(素晴らしいタブラプログラムを使用) 、パブリックドメインに投稿しました







Rコード。 Hatton、TJ、&Bray、BE(2010)データのダウンロードと分析の準備
 # download the data from Hatton, TJ, & Bray, BE (2010). # Long run trends in the heights of European men, 19th–20th centuries. # Economics & Human Biology, 8(3), 405–413. # http://doi.org/10.1016/j.ehb.2010.03.001 # stable URL, copied data (https://dx.doi.org/10.6084/m9.figshare.3394795.v1) df_hb <- read.csv('https://ndownloader.figshare.com/files/5303878') df_hb <- df_hb %>% gather('country','h_pop',2:16) %>% mutate(period=paste(period)) %>% separate(period,c('t1','t2'),sep = '/')%>% transmute(cohort=(as.numeric(t1)+as.numeric(t2))/2,country,h_pop) # calculate hockey players' cohort height averages for each country df_hoc <- dfu %>% group_by(country,cohort) %>% summarise(h_hp=mean(av.height)) %>% ungroup()
      
      





残念ながら、人口増加ダイナミクスに関するデータは、私のホッケーデータセットの8か国(オーストリア、デンマーク、フィンランド、フランス、ドイツ、イタリア、ノルウェー、スウェーデン)としか交差していません。







Rコード。 重複データ
 # countries in both data sets both_cnt <- levels(factor(df_hb$country))[which(levels(factor(df_hb$country)) %in% levels(df_hoc$country))] both_cnt
      
      







Rコード。 図6.男性人口とホッケー選手の成長ダイナミクスの比較。 注:緑は男性の人口です。 茶色-ホッケー選手。
 gg_hoc_vs_pop <- ggplot()+ geom_path(data = df_hb %>% filter(country %in% both_cnt), aes(x=cohort,y=h_pop), color=brbg11[9],size=1)+ geom_point(data = df_hb %>% filter(country %in% both_cnt), aes(x=cohort,y=h_pop), color=brbg11[9],size=2)+ geom_point(data = df_hb %>% filter(country %in% both_cnt), aes(x=cohort,y=h_pop), color='white',size=1.5)+ geom_point(data = df_hoc %>% filter(country %in% both_cnt), aes(x=cohort,y=h_hp), color=brbg11[3],size=2,pch=18)+ stat_smooth(data = df_hoc %>% filter(country %in% both_cnt), aes(x=cohort,y=h_hp), method='lm',se=F,color=brbg11[1],size=1)+ facet_wrap(~country,ncol=2)+ ylab('height, cm')+ xlab('birth cohort')+ theme_few(base_size = 15)+ theme(panel.grid=element_line(colour = 'grey75',size=.25))
      
      





分析したすべての国で、ホッケー選手は標準的な統計の男性よりも2〜5 cm高いですが、これは驚くことではありません-スポーツにはかなりの選択があります。

別のことは注目に値します。 先進国では、20世紀初頭に男性の人口増加が特に急速に増加しました。 1960年代頃のコホートでは、男性の成長はプラトーに近づき、急速に増加しなくなりました。 (何らかの理由でデンマークを除く)すべての国のホッケー選手の平均的な成長傾向は、男性人口全体の長年の傾向を継続しているようです。

20世紀前半に生まれたヨーロッパ人のコホートでは、平均的な成長の成長率は、国に応じて10年あたり1.18〜1.74 cmの範囲でした(図7)。 1960年代以来、この指標は10年間で0.15〜0.80のレベルまで低下しています。









Rコード。 図7.男性人口の平均成長ダイナミクス
 # growth in population df_hb_w <- df_hb %>% spread(cohort,h_pop) names(df_hb_w)[2:26] <- paste('y',names(df_hb_w)[2:26]) diffs <- df_hb_w[,3:26]-df_hb_w[,2:25] df_hb_gr<- df_hb_w %>% transmute(country, gr_1961_1980 = unname(apply(diffs[,22:24],1,mean,na.rm=T))*2, gr_1901_1960 = unname(apply(diffs[,9:21],1,mean,na.rm=T))*2, gr_1856_1900 = unname(apply(diffs[,1:8],1,mean,na.rm=T))*2) %>% gather('period','average_growth',2:4) %>% filter(country %in% both_cnt) %>% mutate(country=factor(country,levels = rev(levels(factor(country)))), period=factor(period,labels = c('1856-1900','1901-1960','1961-1980'))) gg_hb_growth <- ggplot(df_hb_gr, aes(x=average_growth,y=country))+ geom_point(aes(color=period),size=3)+ scale_color_manual(values = brbg11[c(8,3,10)])+ scale_x_continuous(limits=c(0,2))+ facet_wrap(~period)+ theme_few()+ xlab("average growth in men's height over 10 years, cm")+ ylab(NULL)+ theme_few(base_size = 20)+ theme(legend.position='none', panel.grid=element_line(colour = 'grey75',size=.25))
      
      





人口の停滞傾向を背景に、ホッケー選手の成長の増加は非常に印象的です。 そして、ゴールキーパー間の加速は一般に前例のないものです。

選択を忘れないでください。 人口とホッケー選手の傾向の違いは、選択の増加を示している可能性があります。ホッケーを成功させるには、さらに大きな成長が必要です。







スポーツ選択



このトピックに関する科学文献を見ると、 驚くべき結果に出会いました。 プロスポーツでは、年の前半に生まれた人が圧倒的に多いことがわかります。 これは、スポーツ部門が原則として出生コホートの子供のチームを形成するという事実によって説明されます。 したがって、年の初めに生まれた人は常に彼らの後ろにもう少し多くの時間を費やしています。 データセットでこの結果を確認するのは簡単です。













Rコード。 図8.出生月別のホッケー選手の分布
 # check if there are more players born in earlier months df_month <- df %>% mutate(month=month(birth)) %>% mutate(month=factor(month,levels = rev(levels(factor(month))))) gg_month <- ggplot(df_month,aes(x=factor(month)))+ geom_bar(stat='count',fill=brbg11[8])+ scale_x_discrete(breaks=1:12,labels=month.name)+ xlab('month of birth')+ coord_flip()+ theme_few(base_size = 20)+ theme(legend.position='none', panel.grid=element_line(colour = 'grey75',size=.25))
      
      





確かに、分布はかなり早い時期に偏っています。 数十年ごとにデータを分解すると、肉眼で見ると、時間とともに効果が強まることがわかります(図9)。 間接的に、これはホッケーの選択が厳しくなっていることを示しています。









Rコード。 図9.出生月別のホッケー選手の分布、出生別10年ごと
 # facet by decades df_month_dec <- df_month %>% mutate(dec=factor(substr(paste(cohort),3,3),labels = paste('born in',c('1960s','1970s','1980s','1990s')))) gg_month_dec <- ggplot(df_month_dec,aes(x=factor(month)))+ geom_bar(stat='count',fill=brbg11[8])+ scale_x_discrete(breaks=1:12,labels=month.abb)+ xlab('month of birth')+ facet_wrap(~dec,ncol=2,scales = 'free')+ theme_few(base_size = 20)+ theme(legend.position='none', panel.grid=element_line(colour = 'grey75',size=.25))
      
      





未来のために



物理データがホッケー選手のゲーム統計に影響するかどうかを確認するのは興味深いでしょう。 非常にまともな科学雑誌に掲載された面白い記事に出くわしました。著者は、ホッケー選手の顔の割合とゲームあたりのペナルティ時間の平均数との相関関係を発見しました。







指定された記事のグラフ






出所







再現性



私の記事の結果を再現した完全なRスクリプトはこちらです。

使用済みバージョンR-3.2.4

2016-03-14現在のすべてのパッケージ。 パッケージの非互換性の場合、対応する日付でチェックポイントパッケージを使用すると、このコードが再現されることが保証されます。








All Articles