How does half time result influence full time result in a soccer matches EPL last 4 seasons including 18-19
Let Load Data
Data<-read.csv("EplData.csv",header = TRUE)
str(Data)
## 'data.frame': 1520 obs. of 16 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 3 7 9 13 16 19 1 18 21 26 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 2 23 25 22 24 8 27 20 14 15 ...
## $ FTHG : int 0 2 2 4 1 1 0 2 0 0 ...
## $ FTAG : int 1 2 2 2 0 3 2 2 1 3 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 1 2 2 3 3 1 1 2 1 1 ...
## $ HTHG : int 0 2 0 3 1 0 0 1 0 0 ...
## $ HTAG : int 0 1 1 0 0 1 1 1 0 2 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 2 3 1 3 3 1 1 2 2 1 ...
## $ HS : int 11 11 10 19 9 17 22 9 7 9 ...
## $ AS : int 7 18 11 10 9 11 8 15 8 19 ...
## $ HST : int 2 3 5 8 1 6 6 4 1 2 ...
## $ AST : int 3 10 5 5 4 7 4 5 3 7 ...
## $ PSH : num 1.95 1.39 1.7 1.99 1.65 2.52 1.31 2.88 3.48 5.75 ...
## $ PSA : num 4.27 10.39 5.62 4.34 5.9 ...
## $ PSD : num 3.65 4.92 3.95 3.48 4.09 3.35 5.75 3.33 3.46 3.98 ...
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
First we look for FTR and HTR values
table(Data$FTR)
##
## A D H
## 461 361 698
table(Data$HTR)
##
## A D H
## 379 631 510
From table above we can see that around 41.5% (631) of result at half time are Draw while Home Teams win is at 33.5% mark (510) and 24.9% (379) beeing Away win
At full time whistle things have changed with Draw result regressing by 42.8% (361) from (631) whilst Home Team win increases at rate of 36.86% (698) from (510) and finaly Away win increases by 21.6% (461) from (379)
How many Home Teams won HT and FT
HT_FT<-filter(Data,HTR=="H" & FTR=="H")
str(HT_FT)
## 'data.frame': 421 obs. of 16 variables:
## $ X : int 4 5 14 19 20 39 41 43 45 50 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 13 16 23 15 14 20 1 9 19 27 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 22 24 18 7 3 19 21 7 3 18 ...
## $ FTHG : int 4 1 2 3 1 3 2 3 3 2 ...
## $ FTAG : int 2 0 0 0 0 0 0 1 1 0 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 3 3 3 3 3 3 3 3 3 3 ...
## $ HTHG : int 3 1 1 1 1 1 1 2 1 1 ...
## $ HTAG : int 0 0 0 0 0 0 0 1 0 0 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 3 3 3 3 3 3 3 3 3 3 ...
## $ HS : int 19 9 19 18 18 23 29 14 12 17 ...
## $ AS : int 10 9 4 10 13 6 9 15 7 14 ...
## $ HST : int 8 1 6 8 2 8 12 9 4 3 ...
## $ AST : int 5 4 2 3 2 1 4 2 2 4 ...
## $ PSH : num 1.99 1.65 1.94 2.08 1.44 2.05 1.28 4.11 2.36 2.23 ...
## $ PSA : num 4.34 5.9 4.3 3.87 8.6 4 13 2.01 3.23 3.48 ...
## $ PSD : num 3.48 4.09 3.66 3.56 4.74 3.54 6.12 3.57 3.48 3.53 ...
Half Time Full Time Home Teams won 421 matches in total
How many Away Teams won HT and FT
AT_FT<-filter(Data,HTR=="A" & FTR=="A")
str(AT_FT)
## 'data.frame': 273 obs. of 16 variables:
## $ X : int 6 7 10 11 12 13 17 26 29 34 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 19 1 26 2 20 22 27 27 26 14 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 8 27 15 16 9 19 13 3 7 27 ...
## $ FTHG : int 1 0 0 0 0 1 1 3 2 0 ...
## $ FTAG : int 3 2 3 1 3 3 2 4 3 3 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 1 1 1 1 1 1 1 1 1 1 ...
## $ HTHG : int 0 0 0 0 0 0 0 0 1 0 ...
## $ HTAG : int 1 1 2 1 2 2 2 2 3 2 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 1 1 1 1 1 1 1 1 1 1 ...
## $ HS : int 17 22 9 5 17 6 10 10 15 13 ...
## $ AS : int 11 8 19 9 10 19 11 15 15 12 ...
## $ HST : int 6 6 2 1 4 2 3 4 6 1 ...
## $ AST : int 7 4 7 2 4 6 6 7 5 5 ...
## $ PSH : num 2.52 1.31 5.75 5.66 1.98 2.52 2.25 2.43 6.25 1.36 ...
## $ PSA : num 3.08 12 1.68 1.72 4.21 ...
## $ PSD : num 3.35 5.75 3.98 3.83 3.6 3.35 3.52 3.44 3.93 5.28 ...
Half Time Full Time Away Teams won 273 matches in total
How many times did Draw at HT resulted at FT as a Draw
D_D<-filter(Data,HTR=="D" & FTR=="D")
str(D_D)
## 'data.frame': 230 obs. of 16 variables:
## $ X : int 8 16 22 23 24 28 30 38 47 57 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 18 25 13 16 19 25 1 24 26 23 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 20 26 24 18 21 20 14 9 20 9 ...
## $ FTHG : int 2 0 1 0 1 0 0 0 0 0 ...
## $ FTAG : int 2 0 1 0 1 0 0 0 0 0 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 2 2 2 2 2 2 2 2 2 2 ...
## $ HTHG : int 1 0 0 0 1 0 0 0 0 0 ...
## $ HTAG : int 1 0 0 0 1 0 0 0 0 0 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 2 2 2 2 2 2 2 2 2 2 ...
## $ HS : int 9 16 13 20 21 13 19 20 8 12 ...
## $ AS : int 15 6 19 7 6 14 15 8 14 17 ...
## $ HST : int 4 5 2 8 7 0 5 6 1 3 ...
## $ AST : int 5 0 6 0 1 5 8 3 4 2 ...
## $ PSH : num 2.88 2.25 2.69 1.39 2.34 2.76 1.74 1.97 3.21 2.3 ...
## $ PSA : num 2.69 3.54 2.75 9.62 3.37 2.78 5.12 4.09 2.49 3.4 ...
## $ PSD : num 3.33 3.41 3.52 5.15 3.39 3.36 4 3.72 3.26 3.44 ...
Only 36.45% (230) of (631) matches that resulted as Draw at half time remained the same at final whistle
Home Comebacks losing at HT but winning at FT
H_C<-filter(Data,HTR=="A" & FTR=="H")
str(H_C)
## 'data.frame': 37 obs. of 16 variables:
## $ X : int 48 188 258 267 302 359 362 376 487 497 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 13 27 1 24 20 8 22 21 12 24 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 2 20 13 23 14 21 7 27 20 27 ...
## $ FTHG : int 3 2 2 2 3 2 3 2 2 3 ...
## $ FTAG : int 2 1 1 1 2 1 2 1 1 2 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 3 3 3 3 3 3 3 3 3 3 ...
## $ HTHG : int 0 0 0 0 0 0 1 0 0 0 ...
## $ HTAG : int 1 1 1 1 2 1 2 1 1 1 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 1 1 1 1 1 1 1 1 1 1 ...
## $ HS : int 21 13 24 34 16 17 15 7 6 14 ...
## $ AS : int 11 15 7 10 18 12 9 20 19 11 ...
## $ HST : int 6 5 6 14 5 4 4 4 2 6 ...
## $ AST : int 4 4 3 4 9 3 8 7 7 3 ...
## $ PSH : num 1.86 3.57 1.71 1.48 2.71 2.07 3.02 3.48 5.73 1.5 ...
## $ PSA : num 4.62 2.24 5.08 8.27 2.88 3.93 2.45 2.12 1.7 7.4 ...
## $ PSD : num 3.74 3.41 4.16 4.5 3.29 3.53 3.55 3.82 3.88 4.58 ...
Only 37 times did Home Teams manage to be losing at half time and comeback to win at full time
Away Comebacks losing at HT but winning at FT
A_C<-filter(Data,HTR=="H" & FTR=="A")
str(A_C)
## 'data.frame': 27 obs. of 16 variables:
## $ X : int 70 107 159 202 209 221 224 262 280 437 ...
## $ HomeTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 26 26 24 3 23 8 19 20 9 22 ...
## $ AwayTeam: Factor w/ 28 levels "Arsenal","Aston Villa",..: 9 13 18 27 22 24 14 7 27 8 ...
## $ FTHG : int 2 2 1 1 2 1 4 1 2 2 ...
## $ FTAG : int 3 3 2 3 4 3 5 2 3 3 ...
## $ FTR : Factor w/ 3 levels "A","D","H": 1 1 1 1 1 1 1 1 1 1 ...
## $ HTHG : int 1 1 1 1 2 1 2 1 1 1 ...
## $ HTAG : int 0 0 0 0 1 0 1 0 0 0 ...
## $ HTR : Factor w/ 3 levels "A","D","H": 3 3 3 3 3 3 3 3 3 3 ...
## $ HS : int 9 14 20 11 10 11 6 7 15 11 ...
## $ AS : int 12 13 8 10 7 24 13 16 17 20 ...
## $ HST : int 4 6 8 4 5 3 5 2 8 4 ...
## $ AST : int 4 5 4 5 5 11 7 4 5 4 ...
## $ PSH : num 3.06 2.84 1.39 2.01 1.78 3.63 4.35 2.9 1.71 2.88 ...
## $ PSA : num 2.51 2.7 9 4.02 5.32 2.22 1.98 2.65 5.17 2.7 ...
## $ PSD : num 3.39 3.36 5.32 3.65 3.71 3.4 3.5 3.37 4.11 3.3 ...
Only 27 times did Away Teams manage to be losing at half time and comeback to wn at full time
Summary
Draw is the most likely event at half time occuring 41.5% of times (631) followed by Home win at 33.5% (510) and finally Away win 24.9%
At final whistle Draw while be lower by 42.8% whilst Home and Draw will be higher at 36.86% and 21.6% respectively