サッカーとは何かを知らない人に伝える場合、おそらく「足を使う球技である」と伝える人が多いだろう。日本では「蹴球」と表記されるように、ボールを蹴るスポーツである。だが、手を使ってボールを扱う場面がある。ゴールキーパーは特殊な手袋をつけているからか、一人だけユニフォームが違うからなのか分からないが、特定のエリアで手を使うことが許されている。さらに、コート外にボールが出た場合、ゴールキーパー以外のプレイヤーも手でボールを触ることが許されている。審判もまた手で触っていることがある。経験的に、試合が終わるとボールをボールケースに入れるときも手で入れている。
したがって、サッカーとは足を使う球技であるが、特権階級・状況・試合時間外はボールを触ることが許されている球技であるというとより正確に伝えることができるであろう1。
サッカーは得点の入りにくい球技である。他のスポーツと比較してみよう。バスケットボールの得点は2点、定めれらた距離以上のところから決めると3点がもらえる。野球の得点はボールインプレイからボールデッドの間で、走者又は打者が手順を間違えずにホームベースを踏むと得点をする。例外として、ボールデッドであっても、ホームランは手順を間違えなければ、安全にホームベースを踏むことができる2。野球ではボールインプレイからボールデッドの間に、1点から4点の得点をあげることができる。
サッカーと同じ1点しかあげられないハンドボールでは、点の取り合いのような試合ばかりである。よって、サッカーは1点が他のスポーツと比較して、重みがあると言えよう。
サッカーで「手」を使うことは、制限されていることを示した。同時に日本で「蹴球」と表記することも確認した。このように、足を使うことを全面に出しているのにもかかわらず、競技中、手がボールに触れてしまうことがある。この場合、なんのスポーツをしているのか分からなくなってしまう。経験的に、決定機に手で触れてしまうと厳しい処分が下っているところを見ることが多い。さらに前段で言ったように、1点の重み3が他の球技と比べてある。よって、ボールを手で触る行為は場合によって、試合を決めてしまう可能性がある。
このように、ハンドという行為はサッカーで「二重の意味で禁じ手」である。「蹴球」の名を脅かす手を使い反則は何が影響しているのかが分析の目的である。前置きが長くなったが、今回は2010年に行われた“FIFA World Cup”を用いて分析を行う。
Rの分析でロジスティク回帰分析まで行う。分析の手順がが多くなる多め数回に分けて更新をする。今回は「For文」と「相関行列」の練習を行う。「For文」は国によって試合数が違うので、1試合あたりの値にするために使い、相関行列は変数間の相関をすべて表示をするために行う。
データを読み込む:
library(tidyverse)
FALSE -- Attaching packages -------------------------------------------------------------------------------------------- tidyverse 1.3.0 --
FALSE √ ggplot2 3.2.1 √ purrr 0.3.3
FALSE √ tibble 2.1.3 √ dplyr 0.8.3
FALSE √ tidyr 1.0.0 √ stringr 1.4.0
FALSE √ readr 1.3.1 √ forcats 0.4.0
FALSE -- Conflicts ----------------------------------------------------------------------------------------------- tidyverse_conflicts() --
FALSE x dplyr::filter() masks stats::filter()
FALSE x dplyr::lag() masks stats::lag()
library(GGally)
FALSE Registered S3 method overwritten by 'GGally':
FALSE method from
FALSE +.gg ggplot2
FALSE
FALSE Attaching package: 'GGally'
FALSE The following object is masked from 'package:dplyr':
FALSE
FALSE nasa
DATA <- read_csv("soccer_analysis.csv")
FALSE Parsed with column specification:
FALSE cols(
FALSE .default = col_double(),
FALSE Team = col_character()
FALSE )
FALSE See spec(...) for full column specifications.
DATA
## # A tibble: 32 x 25
## Team game goal_point given_point shoot attack tackle tackle_lose offside
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Spain 7 8 2 121 107 52 29 12
## 2 Neth~ 7 12 6 93 69 26 17 29
## 3 Germ~ 7 16 5 102 91 31 7 23
## 4 Urug~ 7 11 8 102 69 38 16 20
## 5 Arge~ 5 10 6 95 70 25 15 12
## 6 Ghana 5 5 4 101 56 18 10 10
## 7 Para~ 5 3 2 63 39 27 14 7
## 8 Braz~ 5 9 4 89 72 40 22 6
## 9 USA 4 5 5 69 35 32 14 4
## 10 Engl~ 4 3 5 65 62 38 13 9
## # ... with 22 more rows, and 16 more variables: assist <dbl>, sbr <dbl>,
## # chance <dbl>, clear <dbl>, clear_succ <dbl>, try_tackle <dbl>,
## # intercept <dbl>, yellow_card <dbl>, red_card <dbl>, foul <dbl>,
## # get_foul <dbl>, hand <dbl>, pass <dbl>, succ_pass <dbl>, corner_kick <dbl>,
## # run <dbl>
変数を紹介する4。
game -> 試合数
get_point -> 得点数
given_point -> 失点数
shoot -> シュートと打った数
attack -> 攻撃回数 tackle -> タックルを受けた回数
tackle_lose -> タックルを受けてボールを失った回数
offside -> オフサイドをした数
assist -> アシストをした数
sbr -> 単独突破の回数
chance -> ペナルティエリア内へボールを運んだ回数
clear -> クリアを試みた数
clear_succ -> クリアが成功した数
try_tackle -> タックルをした回数
intercept -> タックルをして取り返した回数
yellow_card -> イエローカードの数
red_card -> レッドカードの数
foul -> ファールをした数
get_foul -> ファールを与えた数
hand -> ハンドをした数
pass -> パスを試みた数
succ_pass -> パスが成功した数
corner_kick -> コーナーキックの数
run -> 走行距離
以上の24個の変数がある。
DATAは、試合数がバラバラで比較ができない。したがって、1試合あたりの値にして比較する。1試合あたりの値にするためにfor文を用いる。
1. for文を使う
Messi <- NULL ## made an empty box nameed Messi
for (i in 1:nrow(DATA)) {
g <- DATA[i,"game"]
m <- DATA[i,3:25]
kekka <- m/unlist(g)
Messi <- rbind(Messi,kekka)
}
Messi <- cbind.data.frame("game"=DATA$game,Messi)
Messi <- cbind.data.frame("Team"=DATA$Team,Messi)
summary(Messi)
FALSE Team game goal_point given_point
FALSE Algeria : 1 Min. :3.00 Min. :0.0000 Min. :0.2500
FALSE Argentine: 1 1st Qu.:3.00 1st Qu.:0.6667 1st Qu.:0.7786
FALSE Australia: 1 Median :3.50 Median :1.0000 Median :1.1714
FALSE Brazil : 1 Mean :4.00 Mean :1.0218 Mean :1.2198
FALSE Cameroon : 1 3rd Qu.:4.25 3rd Qu.:1.3333 3rd Qu.:1.6667
FALSE Chile : 1 Max. :7.00 Max. :2.2857 Max. :4.0000
FALSE (Other) :26
FALSE shoot attack tackle tackle_lose
FALSE Min. : 5.00 Min. : 3.667 Min. :1.000 Min. :0.000
FALSE 1st Qu.:11.62 1st Qu.: 8.312 1st Qu.:4.607 1st Qu.:2.000
FALSE Median :13.71 Median :11.100 Median :6.000 Median :2.775
FALSE Mean :13.73 Mean :10.755 Mean :6.180 Mean :2.694
FALSE 3rd Qu.:16.06 3rd Qu.:13.000 3rd Qu.:8.000 3rd Qu.:3.375
FALSE Max. :20.20 Max. :17.000 Max. :9.500 Max. :4.400
FALSE
FALSE offside assist sbr chance
FALSE Min. :0.3333 Min. :0.0000 Min. : 4.333 Min. :1.667
FALSE 1st Qu.:1.3833 1st Qu.:0.3333 1st Qu.: 9.646 1st Qu.:3.667
FALSE Median :2.2917 Median :0.6333 Median :13.367 Median :5.000
FALSE Mean :2.3802 Mean :0.6662 Mean :13.826 Mean :5.108
FALSE 3rd Qu.:3.0000 3rd Qu.:1.0000 3rd Qu.:16.750 3rd Qu.:6.083
FALSE Max. :6.0000 Max. :2.0000 Max. :25.429 Max. :9.500
FALSE
FALSE clear clear_succ try_tackle intercept
FALSE Min. : 1.333 Min. :0.3333 Min. : 2.000 Min. :1.250
FALSE 1st Qu.: 7.667 1st Qu.:1.4048 1st Qu.: 4.893 1st Qu.:2.150
FALSE Median : 9.575 Median :2.3333 Median : 6.125 Median :2.429
FALSE Mean : 9.574 Mean :2.2603 Mean : 6.297 Mean :2.853
FALSE 3rd Qu.:11.375 3rd Qu.:3.0000 3rd Qu.: 7.500 3rd Qu.:3.812
FALSE Max. :17.000 Max. :5.0000 Max. :11.333 Max. :5.667
FALSE
FALSE yellow_card red_card foul get_foul
FALSE Min. :0.6667 Min. :0.00000 Min. : 8.667 Min. : 9.00
FALSE 1st Qu.:1.5000 1st Qu.:0.00000 1st Qu.:13.982 1st Qu.:11.94
FALSE Median :1.7750 Median :0.00000 Median :16.300 Median :14.54
FALSE Mean :1.9331 Mean :0.08103 Mean :15.943 Mean :14.46
FALSE 3rd Qu.:2.2708 3rd Qu.:0.03571 3rd Qu.:18.417 3rd Qu.:15.91
FALSE Max. :3.2500 Max. :0.66667 Max. :21.000 Max. :23.00
FALSE
FALSE hand pass succ_pass corner_kick
FALSE Min. :0.2500 Min. :364.3 Min. :221.0 Min. :1.000
FALSE 1st Qu.:0.5929 1st Qu.:439.8 1st Qu.:290.5 1st Qu.:3.667
FALSE Median :1.0000 Median :480.4 Median :346.8 Median :4.381
FALSE Mean :0.9884 Mean :484.0 Mean :342.9 Mean :4.685
FALSE 3rd Qu.:1.3333 3rd Qu.:529.5 3rd Qu.:384.2 3rd Qu.:5.333
FALSE Max. :2.2500 Max. :678.9 Max. :543.3 Max. :8.750
FALSE
FALSE run
FALSE Min. : 92.84
FALSE 1st Qu.:102.03
FALSE Median :106.80
FALSE Mean :106.21
FALSE 3rd Qu.:109.43
FALSE Max. :118.37
FALSE
はじめに、1試合あたりの値になった変数を入れる空の箱を作る。今回はサッカーの分析なので、Messiというサッカー選手の空き箱を作った。空の箱はこのように自分の好きなものの名前を付けてよい。
for文の中身の説明をする。for文の1行目は、括弧の中に“i in 1:nrow(DATA)”を書いている。 これは「1番目の行から最後の行まで順番に抜き出す」という意味である。よって、“nrow(DATA)”の部分は最後の行番号である「32」を入れてもよい(その場合、“i in 1:32”)となる。
for文の2行目は、今抜き出した行(1チーム分のデータ)から試合数の変数である“game”の数だけを抜き出し、“g”という新しい空の箱に代入した。for文の3行目は、今抜き出した行(1チーム分のデータ)から国名と試合数を除いた3列目から25列目までを抜き出し、“m”という新しい空の箱に代入した。
for文の4行目は、1試合あたりの値にするために、3列目から25列目まで(m)を試合数(g)で割る(m÷g)作業を行っている。この結果を“kekka”に代入する5。
for文の5行目は、1試合あたりの値(行)をいれたkekkaをMessiに入れていくことを意味する。
for文は繰り返す文である。今回は1行ずつ1試合あたりの数字にし、1行目から32行目までを繰り返してMessiに入れる作業を指示している。
for文の下にある“cbind.data.frame”はMessiに国名(Team)と試合数(game)がないので入れている。
2. for文以外のコード
### oldfashion
DATA2 <- DATA[,-1]
DATA3 <- apply(DATA2, 2, function(x)x/data2$"game") ##apply関数の括弧内の
Me <- DATA3[,-1]
Me <- as.data.frame(Me) ##データフレームにする
Mess <- cbind.data.frame("game"=DATA$game,Me)
Messi <- cbind.data.frame("Team"=DATA$Team,Me)
意味は分かりやすいが、コードが多い。因みに、apply関数の括弧内の2番目の“2”は、「行」であることを表している。
Messi
## Team game goal_point given_point shoot attack
## 1 Spain 7 1.1428571 0.2857143 17.28571 15.285714
## 2 Netherlands 7 1.7142857 0.8571429 13.28571 9.857143
## 3 Germany 7 2.2857143 0.7142857 14.57143 13.000000
## 4 Uruguay 7 1.5714286 1.1428571 14.57143 9.857143
## 5 Argentine 5 2.0000000 1.2000000 19.00000 14.000000
## 6 Ghana 5 1.0000000 0.8000000 20.20000 11.200000
## 7 Paraguay 5 0.6000000 0.4000000 12.60000 7.800000
## 8 Brazil 5 1.8000000 0.8000000 17.80000 14.400000
## 9 USA 4 1.2500000 1.2500000 17.25000 8.750000
## 10 England 4 0.7500000 1.2500000 16.25000 15.500000
## 11 South_Korea 4 1.5000000 2.0000000 15.50000 12.750000
## 12 Slovakia 4 1.2500000 1.7500000 10.25000 7.500000
## 13 Chile 4 0.7500000 1.2500000 16.00000 12.250000
## 14 Japan 4 1.0000000 0.5000000 11.50000 8.250000
## 15 Portugal 4 1.7500000 0.2500000 13.75000 11.250000
## 16 Mexico 4 1.0000000 1.2500000 13.25000 13.500000
## 17 Algeria 3 0.0000000 0.6666667 13.66667 11.000000
## 18 Italy 3 1.3333333 1.6666667 16.33333 17.000000
## 19 Australia 3 1.0000000 2.0000000 11.66667 10.000000
## 20 Cameroon 3 0.6666667 1.6666667 16.33333 10.666667
## 21 North_Korea 3 0.3333333 4.0000000 11.33333 6.000000
## 22 Greece 3 0.6666667 1.6666667 13.33333 14.000000
## 23 Cote d'Ivoire 3 1.3333333 1.0000000 14.33333 11.666667
## 24 Switzerland 3 0.3333333 0.3333333 10.66667 7.333333
## 25 Slovenia 3 1.0000000 1.0000000 9.00000 6.000000
## 26 Serbia 3 0.6666667 1.0000000 15.00000 13.000000
## 27 Denmark 3 1.0000000 2.0000000 14.00000 11.333333
## 28 Nigeria 3 1.0000000 1.6666667 10.66667 8.333333
## 29 New Zealand 3 0.6666667 0.6666667 5.00000 3.666667
## 30 France 3 0.3333333 1.3333333 13.66667 11.000000
## 31 Honduras 3 0.0000000 1.0000000 8.00000 6.666667
## 32 Republic of South Africa 3 1.0000000 1.6666667 13.33333 11.333333
## tackle tackle_lose offside assist sbr chance clear
## 1 7.428571 4.142857 1.7142857 0.7142857 25.428571 8.714286 6.428571
## 2 3.714286 2.428571 4.1428571 1.4285714 13.142857 5.000000 9.285714
## 3 4.428571 1.000000 3.2857143 2.0000000 19.428571 5.714286 5.571429
## 4 5.428571 2.285714 2.8571429 1.1428571 10.857143 5.142857 11.571429
## 5 5.000000 3.000000 2.4000000 0.8000000 22.600000 5.400000 3.800000
## 6 3.600000 2.000000 2.0000000 0.2000000 13.400000 7.200000 8.200000
## 7 5.400000 2.800000 1.4000000 0.6000000 8.000000 4.800000 9.400000
## 8 8.000000 4.400000 1.2000000 1.6000000 19.400000 6.000000 7.600000
## 9 8.000000 3.500000 1.0000000 0.5000000 9.750000 4.750000 11.500000
## 10 9.500000 3.250000 2.2500000 0.7500000 14.750000 6.750000 14.000000
## 11 4.000000 2.000000 0.7500000 0.5000000 14.500000 7.000000 12.500000
## 12 7.000000 4.000000 2.0000000 1.0000000 9.250000 4.250000 9.750000
## 13 8.500000 4.250000 4.2500000 0.7500000 15.250000 9.500000 4.750000
## 14 5.250000 2.000000 2.7500000 0.5000000 5.750000 4.000000 8.250000
## 15 8.250000 3.750000 2.0000000 1.7500000 18.750000 5.000000 10.750000
## 16 7.250000 2.750000 3.5000000 0.7500000 15.500000 4.250000 10.000000
## 17 8.666667 3.000000 3.0000000 0.0000000 15.666667 1.666667 17.000000
## 18 8.666667 2.333333 2.3333333 0.6666667 17.000000 9.333333 10.000000
## 19 4.333333 1.666667 1.3333333 0.3333333 8.333333 5.333333 7.666667
## 20 5.666667 2.333333 2.0000000 0.0000000 16.666667 8.333333 1.333333
## 21 6.666667 2.000000 2.0000000 0.3333333 9.333333 1.666667 11.333333
## 22 4.333333 1.000000 2.3333333 0.0000000 17.666667 3.333333 10.000000
## 23 4.666667 1.333333 2.6666667 1.0000000 25.000000 6.333333 5.333333
## 24 5.000000 3.000000 1.0000000 0.0000000 11.333333 3.666667 14.666667
## 25 8.666667 4.333333 2.3333333 1.0000000 10.666667 3.000000 15.333333
## 26 4.333333 2.333333 4.3333333 0.3333333 13.000000 4.666667 7.666667
## 27 6.333333 3.000000 1.0000000 0.6666667 13.000000 5.000000 9.000000
## 28 7.666667 3.666667 0.3333333 0.3333333 13.333333 3.666667 15.000000
## 29 1.000000 0.000000 1.0000000 0.3333333 4.333333 2.666667 8.666667
## 30 8.000000 3.333333 4.0000000 0.3333333 15.000000 5.666667 10.000000
## 31 5.666667 2.000000 6.0000000 0.0000000 8.000000 3.000000 9.000000
## 32 7.333333 3.333333 3.0000000 1.0000000 8.333333 2.666667 11.000000
## clear_succ try_tackle intercept yellow_card red_card foul get_foul
## 1 1.4285714 4.571429 2.428571 1.1428571 0.0000000 11.571429 19.14286
## 2 3.1428571 4.571429 1.571429 3.1428571 0.0000000 18.000000 16.57143
## 3 1.7142857 5.857143 2.000000 1.5714286 0.0000000 10.714286 11.42857
## 4 3.1428571 5.857143 2.428571 1.2857143 0.1428571 14.142857 15.71429
## 5 0.8000000 4.400000 2.400000 1.4000000 0.0000000 13.000000 15.40000
## 6 1.6000000 6.800000 2.400000 2.2000000 0.0000000 18.000000 12.00000
## 7 2.2000000 5.000000 2.200000 1.8000000 0.0000000 19.400000 15.80000
## 8 2.8000000 7.600000 2.800000 1.4000000 0.2000000 15.600000 15.20000
## 9 2.7500000 7.500000 3.250000 2.2500000 0.0000000 13.500000 15.50000
## 10 2.7500000 7.500000 1.750000 1.5000000 0.0000000 12.750000 11.75000
## 11 5.0000000 4.250000 2.250000 1.5000000 0.0000000 14.250000 14.75000
## 12 2.2500000 5.750000 2.250000 2.7500000 0.0000000 17.000000 16.25000
## 13 0.5000000 7.750000 4.000000 3.2500000 0.0000000 19.750000 17.00000
## 14 0.7500000 2.000000 1.250000 1.7500000 0.0000000 17.500000 23.00000
## 15 3.5000000 8.500000 3.750000 2.0000000 0.2500000 15.000000 12.00000
## 16 3.0000000 6.250000 2.250000 2.2500000 0.0000000 21.000000 15.75000
## 17 5.0000000 11.333333 5.666667 1.3333333 0.0000000 17.000000 10.00000
## 18 2.0000000 9.333333 5.000000 1.6666667 0.0000000 14.333333 19.33333
## 19 2.6666667 2.666667 1.333333 2.3333333 0.6666667 20.666667 12.00000
## 20 0.3333333 5.333333 2.333333 1.6666667 0.0000000 18.666667 13.66667
## 21 2.3333333 7.000000 3.333333 0.6666667 0.0000000 8.666667 14.33333
## 22 0.6666667 6.000000 2.666667 1.6666667 0.0000000 13.333333 11.66667
## 23 1.3333333 5.666667 4.000000 1.6666667 0.0000000 19.000000 14.00000
## 24 2.3333333 7.333333 4.000000 2.6666667 0.3333333 19.666667 12.66667
## 25 2.6666667 6.666667 2.666667 3.0000000 0.0000000 14.666667 16.66667
## 26 1.3333333 4.333333 2.000000 2.6666667 0.0000000 10.000000 20.33333
## 27 3.0000000 9.666667 4.333333 2.0000000 0.0000000 18.333333 9.00000
## 28 3.0000000 7.000000 2.666667 1.6666667 0.3333333 15.000000 10.66667
## 29 0.6666667 3.333333 1.333333 2.0000000 0.0000000 20.333333 11.66667
## 30 1.6666667 6.000000 1.666667 2.0000000 0.3333333 17.666667 15.66667
## 31 3.6666667 7.333333 4.666667 2.3333333 0.0000000 17.333333 13.33333
## 32 2.3333333 8.333333 4.666667 1.3333333 0.3333333 14.333333 10.33333
## hand pass succ_pass corner_kick run
## 1 0.4285714 678.8571 543.2857 8.000000 109.6271
## 2 1.4285714 534.0000 380.7143 4.428571 107.4057
## 3 0.5714286 564.0000 409.2857 6.285714 108.4014
## 4 1.0000000 438.2857 270.0000 5.142857 109.0257
## 5 0.6000000 605.2000 458.8000 6.600000 98.7860
## 6 1.4000000 480.4000 329.2000 5.200000 115.4020
## 7 1.8000000 473.2000 311.0000 2.800000 110.1700
## 8 0.4000000 571.6000 450.8000 6.800000 100.0080
## 9 2.2500000 440.2500 293.7500 4.250000 118.3700
## 10 1.0000000 544.0000 394.5000 8.750000 108.4425
## 11 1.0000000 480.2500 332.0000 4.500000 106.9500
## 12 0.5000000 451.2500 309.0000 5.250000 104.3025
## 13 2.0000000 502.2500 360.2500 5.000000 101.7775
## 14 1.7500000 369.2500 222.5000 3.000000 116.1300
## 15 0.2500000 495.0000 365.0000 4.000000 110.1525
## 16 1.2500000 528.0000 399.5000 4.250000 109.8425
## 17 1.0000000 486.6667 352.6667 4.333333 103.7700
## 18 1.3333333 556.3333 406.6667 8.666667 105.8833
## 19 1.0000000 495.3333 348.3333 4.333333 112.5633
## 20 0.6666667 552.0000 400.3333 5.333333 101.6733
## 21 0.3333333 412.3333 268.0000 1.333333 104.8800
## 22 1.0000000 413.0000 280.6667 7.666667 100.4233
## 23 0.6666667 493.3333 375.0000 5.333333 102.1133
## 24 1.0000000 408.3333 277.3333 3.666667 109.3600
## 25 1.0000000 445.0000 305.0000 2.333333 106.6500
## 26 1.3333333 495.0000 358.0000 3.666667 107.5767
## 27 1.0000000 470.3333 345.3333 3.666667 105.3833
## 28 0.6666667 393.3333 266.3333 2.666667 92.8400
## 29 1.3333333 364.3333 221.0000 1.000000 103.2033
## 30 0.3333333 480.3333 334.6667 4.666667 100.7200
## 31 1.0000000 392.6667 252.3333 3.000000 99.9000
## 32 0.3333333 474.0000 352.6667 4.000000 107.0233
3. 要約統計量とヒストグラム
summary(Messi$hand)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.2500 0.5929 1.0000 0.9884 1.3333 2.2500
sd(Messi$hand)
## [1] 0.5083041
hist(Messi$hand,col = "grey")
1試合あたりのハンドの回数の要約統計量とヒストグラムで可視化を行なった。要約統計量より平均は0.98、標準偏差が0.51である。1試合あたりのハンドの回数は平均1回程度で、ばらつきも0.5と小さい。ヒストグラムを見ても0.5と1.0の間が多い。
1試合あたりのハンド回数は平均1回出るかでないかであるが、2回以上をしているチームも存在する。
library(corrplot)
## corrplot 0.84 loaded
quant <- cbind(Messi[,3:25])
corrplot(round(cor(quant),3), method="shade", shade.col=NA, tl.col="black", tl.srt=15,
addCoef.col="black", addcolorlabel="no", order="AOE")
青色が濃くなると強い正の相関があり、赤色が濃くなると強い負の相関がある。
薄くなり、白色になると無相関である。
今回は、0.3以上の相関を報告する。
ハンドの回数と正の相関があるのは、イエローカードの数、走行距離、ファールと受けた回数、ファールの数である。
ハンドの回数と負の相関があるのは、単独突破の回数、レッド―カードの回数、パス成功回数である。
for文は、くり返しの作業をする文章である。今回は1試合あたりの値にするためにfor文を用いたが、それ以外の方法(for文の以下に示したのも一例である)もある。
相関行列では、ハンドの回数に注目して報告した。イエローカードの数、走行距離、ファールと受けた回数、ファールの数に正の相関がみられ、単独突破の回数、レッド―カードの回数、パス成功回数に負の相関がみられた。
この中で、最も興味深い事柄がイエローカードとレッドカードの数の相関の符号が反対であることである。ハンドをするとイエローカードをもらうことがあるだろう。ハンドとイエローカードの間に正の相関があることは頷ける。しかし、イエローカードの2枚分6と言えるレッドカードとハンドの間には負の相関がある。これは「1試合あたりのハンドの回数が多いほど、レッドカードはもらわない」となる。以下のチャンクにおいて、イエローカードは1試合平均が1.93で標準偏差が0.61である。一方で、レッドカードは1試合平均が0.08で標準偏差が0.16である。1試合でイエローカード平均で2枚もらうが、レッドカードは限りなく0枚に近い。標準偏差をみても、ばらつきは少ない。ハンドとイエローカードは1試合で数回起こる7ものの、レッドカードは殆ど出ない。数学的に、試合数が少ないチームがレッドカードをもらうと、1試合あたりのレッドカードの枚数が多くなってしまう。さらに、チーム事情から考えると、試合数が多い、言い換えるとトーナメントを勝ち進んだ強いチームは戦力があるはずだ。そのため、大事な試合ではレッドカードによる退場で1人を減る数的不利な状況よりも、退場となるリスクを避けイエローカードをもらった段階で交代をさせている可能性も考えられる。よって、ハンドとレッドカードの間に負の相関があったと考えられる。
yellow_card
mean(Messi$yellow_card)
## [1] 1.93311
sd(Messi$yellow_card)
## [1] 0.6100595
red_card
mean(Messi$red_card)
## [1] 0.08102679
sd(Messi$red_card)
## [1] 0.1608151
次回は、重回帰分析からハンドを生み出す要因を探す。
ハンドの平均は「3. 要約統計量とヒストグラム」のところを、イエローカードは「今回のまとめと考察」のところを参照して頂きたい。↩