The dataset that I chose is called “2025 Ballon dO’r Full Player Stats Data Set” and it can be found in this link: https://www.kaggle.com/datasets/farzammanafzadeh/2025-ballon-dor-full-player-stats-data-set?resource=download. This dataset gives us the total season statistics for 35 football players that might be nominated for the Ballon d’Or 2025. The stats were collected by the author only from the matches that happened during the Ballon d’Or eligibility period, which is from August 1, 2024 to July 31, 2025.
I firstly upload the dataset into the Rmd document to start exploring it.
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
url<- ("https://raw.githubusercontent.com/arutam-antunish/DATA607/refs/heads/main/Player_Stats_All_Competitions.csv")
ballond_2025 <- read.csv(url)
glimpse(ballond_2025)
## Rows: 35
## Columns: 71
## $ Player <chr> "H. Kane", "S. McTominay", "G. Donnaru…
## $ Club <chr> "Bayern München", "Napoli", "PSG", "Li…
## $ Positions <chr> "AMF, CF, CF", "AMF, AMF, LAMF, AMF, R…
## $ Minutes.played <dbl> 4989, 4163, 5408, 5781, 4755, 4528, 43…
## $ Total.actions <dbl> 2256, 2357, 1634, 5202, 2540, 3087, 26…
## $ Total.actions.successful <dbl> 1358, 1472, 1331, 4452, 1326, 1783, 15…
## $ Goals <dbl> 48, 16, 0, 6, 27, 24, 15, 15, 16, 3, 4…
## $ Assists <dbl> 11, 3, 0, 1, 3, 4, 7, 14, 11, 4, 5, 13…
## $ Shots <dbl> 199, 105, 0, 31, 153, 111, 63, 98, 130…
## $ Shots.on.target <dbl> 105, 47, 0, 12, 66, 50, 29, 44, 49, 6,…
## $ xG <dbl> 39.85, 13.83, 0.00, 3.73, 27.05, 18.08…
## $ Passes <dbl> 1162, 1159, 1149, 4166, 1092, 1472, 13…
## $ Passes.accurate <dbl> 946, 1019, 1054, 3897, 856, 1250, 1065…
## $ Long.passes <dbl> 128, 56, 219, 332, 54, 88, 76, 198, 15…
## $ Long.passes.accurate <dbl> 97, 36, 133, 200, 37, 65, 34, 116, 102…
## $ Crosses <dbl> 48, 25, 0, 1, 32, 76, 144, 212, 64, 18…
## $ Crosses.accurate <dbl> 16, 6, 0, 0, 7, 24, 48, 67, 17, 5, 3, …
## $ Dribbles <dbl> 103, 118, 0, 10, 112, 264, 106, 159, 2…
## $ Dribbles.successful <dbl> 58, 67, 0, 9, 57, 140, 61, 88, 127, 5,…
## $ Duels <dbl> 685, 863, 51, 636, 929, 1137, 837, 978…
## $ Duels.won <dbl> 291, 376, 39, 433, 379, 446, 418, 486,…
## $ Aerial.duels <dbl> 134, 166, 27, 270, 157, 122, 172, 61, …
## $ Aerial.duels.won <dbl> 57, 83, 22, 185, 62, 36, 111, 26, 77, …
## $ Interceptions <dbl> 84, 100, 59, 284, 97, 66, 141, 220, 18…
## $ Losses <dbl> 384, 353, 118, 432, 514, 464, 467, 725…
## $ Losses.own.half <dbl> 75, 118, 57, 191, 145, 110, 122, 229, …
## $ Recoveries <dbl> 133, 202, 185, 695, 165, 150, 250, 497…
## $ Recoveries.opp..half <dbl> 79, 64, 0, 180, 89, 88, 95, 217, 165, …
## $ Yellow.card <dbl> 502, 244, 214, 584, 207, 209, 549, 570…
## $ Red.card <dbl> 0, 0, 0, 77, 0, 0, 0, 0, 164, 0, 0, 0,…
## $ Defensive.duels <dbl> 88, 169, 4, 218, 173, 290, 267, 394, 3…
## $ Defensive.duels.won <dbl> 56, 99, 2, 163, 93, 148, 157, 241, 185…
## $ Loose.ball.duels <dbl> 120, 108, 16, 101, 178, 138, 112, 107,…
## $ Loose.ball.duels.won <dbl> 47, 34, 12, 59, 65, 34, 35, 36, 50, 45…
## $ Sliding.tackles <dbl> 5, 4, 1, 0, 30, 10, 4, 3, 68, 23, 1, 2…
## $ Sliding.tackles.successful <dbl> 2, 1, 0, 0, 16, 4, 1, 2, 34, 17, 0, 0,…
## $ Clearances <dbl> 17, 43, 22, 173, 31, 9, 64, 52, 67, 11…
## $ Fouls <dbl> 27, 56, 0, 31, 62, 90, 94, 63, 77, 32,…
## $ Yellow.cards <dbl> 8, 4, 3, 9, 4, 4, 9, 10, 15, 9, 2, 9, …
## $ Red.cards <dbl> 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0,…
## $ Shot.assists <dbl> 44, 11, 0, 11, 46, 64, 41, 104, 72, 11…
## $ Offensive.duels <dbl> 343, 420, 4, 47, 421, 587, 286, 416, 6…
## $ Offensive.duels.won <dbl> 131, 160, 3, 26, 159, 228, 115, 183, 3…
## $ Touches.in.penalty.area <dbl> 263, 141, 0, 46, 239, 238, 152, 209, 2…
## $ Offsides <dbl> 29, 8, 0, 0, 35, 21, 13, 17, 14, 0, 4,…
## $ Progressive.runs <dbl> 42, 89, 0, 52, 60, 180, 79, 173, 148, …
## $ Fouls.suffered <dbl> 52, 77, 16, 18, 82, 67, 40, 73, 137, 3…
## $ Through.passes <dbl> 29, 9, 1, 34, 15, 12, 11, 20, 61, 36, …
## $ Through.passes.accurate <dbl> 15, 2, 0, 9, 5, 6, 4, 7, 26, 15, 3, 16…
## $ xA <dbl> 5.88, 0.70, 0.00, 0.83, 5.71, 7.80, 6.…
## $ Second.assists <dbl> 3, 0, 0, 1, 2, 2, 3, 6, 1, 3, 0, 4, 3,…
## $ Passes.to.final.third <dbl> 144, 121, 35, 630, 101, 120, 111, 447,…
## $ Passes.to.final.third.accurate <dbl> 104, 92, 14, 508, 69, 92, 65, 390, 331…
## $ Passes.to.penalty.area <dbl> 107, 44, 0, 42, 64, 112, 110, 229, 163…
## $ Passes.to.penalty.area.accurate <dbl> 72, 28, 0, 20, 38, 72, 54, 120, 89, 15…
## $ Received.passes <dbl> 1013, 917, 860, 3208, 889, 1243, 1114,…
## $ Forward.passes <dbl> 254, 273, 427, 1541, 236, 255, 322, 13…
## $ Forward.passes.accurate <dbl> 165, 208, 347, 1346, 151, 198, 203, 11…
## $ Back.passes <dbl> 286, 309, 1, 158, 262, 364, 402, 910, …
## $ Back.passes.accurate <dbl> 269, 300, 1, 153, 237, 348, 389, 869, …
## $ Conceded.goals <dbl> 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ xCG <dbl> 0.00, 0.00, 55.15, 0.00, 0.00, 0.00, 0…
## $ Shots.against <dbl> 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Saves <dbl> 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Saves.with.reflexes <dbl> 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ Exits <dbl> 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ Passes.to.GK <dbl> 12, 12, 0, 107, 3, 4, 22, 38, 24, 138,…
## $ Passes.to.GK.accurate <dbl> 12, 12, 0, 107, 3, 4, 22, 38, 24, 138,…
## $ Goal.kicks <dbl> 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Short.goal.kicks <dbl> 0, 0, 145, 109, 0, 0, 0, 0, 0, 18, 0, …
## $ Long.goal.kicks <dbl> 0, 0, 113, 17, 0, 0, 0, 0, 0, 0, 0, 0,…
summary(ballond_2025)
## Player Club Positions Minutes.played
## Length:35 Length:35 Length:35 Min. :3932
## Class :character Class :character Class :character 1st Qu.:4542
## Mode :character Mode :character Mode :character Median :5180
## Mean :5106
## 3rd Qu.:5600
## Max. :6258
## Total.actions Total.actions.successful Goals Assists
## Min. :1634 Min. : 881 Min. : 0.00 Min. : 0.000
## 1st Qu.:2428 1st Qu.:1415 1st Qu.: 6.50 1st Qu.: 4.000
## Median :3522 Median :2203 Median :16.00 Median : 8.000
## Mean :3781 Mean :2669 Mean :19.46 Mean : 8.286
## 3rd Qu.:5052 3rd Qu.:3826 3rd Qu.:31.00 3rd Qu.:11.000
## Max. :6588 Max. :5694 Max. :48.00 Max. :23.000
## Shots Shots.on.target xG Passes
## Min. : 0.0 Min. : 0.00 Min. : 0.000 Min. : 603
## 1st Qu.: 52.0 1st Qu.: 19.00 1st Qu.: 4.705 1st Qu.:1160
## Median :111.0 Median : 49.00 Median :14.260 Median :2105
## Mean :113.5 Mean : 49.34 Mean :17.618 Mean :2484
## 3rd Qu.:166.0 3rd Qu.: 71.00 3rd Qu.:27.290 3rd Qu.:3682
## Max. :277.0 Max. :141.00 Max. :49.320 Max. :5562
## Passes.accurate Long.passes Long.passes.accurate Crosses
## Min. : 441 Min. : 6.0 Min. : 2.0 Min. : 0.0
## 1st Qu.:1036 1st Qu.: 72.5 1st Qu.: 41.0 1st Qu.: 18.0
## Median :1743 Median :142.0 Median : 79.0 Median : 48.0
## Mean :2167 Mean :170.3 Mean :105.0 Mean : 77.0
## 3rd Qu.:3276 3rd Qu.:241.5 3rd Qu.:132.5 3rd Qu.:144.5
## Max. :5224 Max. :473.0 Max. :339.0 Max. :219.0
## Crosses.accurate Dribbles Dribbles.successful Duels
## Min. : 0.00 Min. : 0.0 Min. : 0.00 Min. : 20.0
## 1st Qu.: 4.00 1st Qu.: 64.5 1st Qu.: 30.50 1st Qu.: 680.5
## Median :17.00 Median :112.0 Median : 61.00 Median : 837.0
## Mean :24.31 Mean :152.4 Mean : 82.49 Mean : 827.0
## 3rd Qu.:43.00 3rd Qu.:201.0 3rd Qu.:114.00 3rd Qu.: 975.5
## Max. :67.00 Max. :708.0 Max. :402.00 Max. :1493.0
## Duels.won Aerial.duels Aerial.duels.won Interceptions
## Min. : 16.0 Min. : 10.0 Min. : 2.00 Min. : 29.0
## 1st Qu.:314.0 1st Qu.: 42.0 1st Qu.: 17.00 1st Qu.: 67.5
## Median :379.0 Median :117.0 Median : 54.00 Median :100.0
## Mean :384.5 Mean :119.5 Mean : 56.66 Mean :129.7
## 3rd Qu.:474.5 3rd Qu.:178.5 3rd Qu.: 80.00 3rd Qu.:192.5
## Max. :735.0 Max. :347.0 Max. :185.00 Max. :284.0
## Losses Losses.own.half Recoveries Recoveries.opp..half
## Min. :118.0 Min. : 57.0 Min. : 82.0 Min. : 0.0
## 1st Qu.:390.0 1st Qu.:102.0 1st Qu.:134.5 1st Qu.: 77.5
## Median :467.0 Median :122.0 Median :202.0 Median :102.0
## Mean :500.9 Mean :136.6 Mean :283.5 Mean :122.6
## 3rd Qu.:611.5 3rd Qu.:159.5 3rd Qu.:435.5 3rd Qu.:172.5
## Max. :879.0 Max. :261.0 Max. :716.0 Max. :273.0
## Yellow.card Red.card Defensive.duels Defensive.duels.won
## Min. : 0.0 Min. : 0.00 Min. : 1.0 Min. : 1.0
## 1st Qu.:193.5 1st Qu.: 0.00 1st Qu.:110.5 1st Qu.: 58.0
## Median :277.0 Median : 0.00 Median :214.0 Median :133.0
## Mean :353.7 Mean : 21.14 Mean :206.3 Mean :127.2
## 3rd Qu.:534.0 3rd Qu.: 10.50 3rd Qu.:293.5 3rd Qu.:177.0
## Max. :901.0 Max. :170.00 Max. :416.0 Max. :277.0
## Loose.ball.duels Loose.ball.duels.won Sliding.tackles
## Min. : 0.0 Min. : 0.00 Min. : 0.000
## 1st Qu.: 79.5 1st Qu.: 31.00 1st Qu.: 2.000
## Median :108.0 Median : 40.00 Median : 5.000
## Mean :111.2 Mean : 41.26 Mean : 9.286
## 3rd Qu.:140.0 3rd Qu.: 52.50 3rd Qu.:13.000
## Max. :217.0 Max. :103.00 Max. :68.000
## Sliding.tackles.successful Clearances Fouls Yellow.cards
## Min. : 0.0 Min. : 2.00 Min. : 0.00 Min. : 0.000
## 1st Qu.: 0.0 1st Qu.: 21.50 1st Qu.:31.50 1st Qu.: 3.000
## Median : 2.0 Median : 31.00 Median :43.00 Median : 5.000
## Mean : 4.6 Mean : 45.26 Mean :43.63 Mean : 5.657
## 3rd Qu.: 5.5 3rd Qu.: 56.50 3rd Qu.:56.00 3rd Qu.: 8.500
## Max. :34.0 Max. :173.00 Max. :94.00 Max. :15.000
## Red.cards Shot.assists Offensive.duels Offensive.duels.won
## Min. :0.0000 Min. : 0.0 Min. : 4.0 Min. : 3.0
## 1st Qu.:0.0000 1st Qu.: 28.5 1st Qu.: 251.5 1st Qu.: 98.5
## Median :0.0000 Median : 50.0 Median : 416.0 Median :148.0
## Mean :0.3429 Mean : 55.8 Mean : 390.0 Mean :159.4
## 3rd Qu.:0.5000 3rd Qu.: 81.5 3rd Qu.: 477.0 3rd Qu.:206.0
## Max. :3.0000 Max. :144.0 Max. :1148.0 Max. :546.0
## Touches.in.penalty.area Offsides Progressive.runs Fouls.suffered
## Min. : 0.0 Min. : 0.00 Min. : 0.0 Min. : 2.00
## 1st Qu.: 90.5 1st Qu.: 2.00 1st Qu.: 53.0 1st Qu.: 30.50
## Median :200.0 Median :11.00 Median :107.0 Median : 65.00
## Mean :178.7 Mean :13.51 Mean :121.6 Mean : 56.66
## 3rd Qu.:260.0 3rd Qu.:24.00 3rd Qu.:162.5 3rd Qu.: 77.50
## Max. :432.0 Max. :50.00 Max. :326.0 Max. :137.00
## Through.passes Through.passes.accurate xA Second.assists
## Min. : 1.00 Min. : 0.00 Min. : 0.000 Min. : 0.000
## 1st Qu.: 13.50 1st Qu.: 5.00 1st Qu.: 3.185 1st Qu.: 2.000
## Median : 24.00 Median : 8.00 Median : 6.680 Median : 4.000
## Mean : 35.74 Mean :13.43 Mean : 7.229 Mean : 3.971
## 3rd Qu.: 49.50 3rd Qu.:19.00 3rd Qu.: 9.905 3rd Qu.: 6.000
## Max. :109.00 Max. :40.00 Max. :22.450 Max. :10.000
## Passes.to.final.third Passes.to.final.third.accurate Passes.to.penalty.area
## Min. : 35.0 Min. : 14.0 Min. : 0.0
## 1st Qu.:106.0 1st Qu.: 67.0 1st Qu.: 43.0
## Median :208.0 Median :145.0 Median :110.0
## Mean :287.5 Mean :228.4 Mean :130.4
## 3rd Qu.:465.0 3rd Qu.:379.5 3rd Qu.:201.0
## Max. :848.0 Max. :767.0 Max. :367.0
## Passes.to.penalty.area.accurate Received.passes Forward.passes
## Min. : 0.00 Min. : 495 Min. : 98.0
## 1st Qu.: 23.50 1st Qu.: 965 1st Qu.: 264.0
## Median : 67.00 Median :1784 Median : 510.0
## Mean : 70.66 Mean :2028 Mean : 685.8
## 3rd Qu.:110.50 3rd Qu.:2910 3rd Qu.:1088.0
## Max. :204.00 Max. :4601 Max. :1547.0
## Forward.passes.accurate Back.passes Back.passes.accurate Conceded.goals
## Min. : 58.0 Min. : 1.0 Min. : 1.0 Min. : 0.000
## 1st Qu.: 200.5 1st Qu.:234.5 1st Qu.:220.0 1st Qu.: 0.000
## Median : 348.0 Median :402.0 Median :389.0 Median : 0.000
## Mean : 542.5 Mean :406.0 Mean :385.4 Mean : 3.257
## 3rd Qu.: 851.5 3rd Qu.:537.5 3rd Qu.:507.0 3rd Qu.: 0.000
## Max. :1390.0 Max. :910.0 Max. :869.0 Max. :58.000
## xCG Shots.against Saves Saves.with.reflexes
## Min. : 0.000 Min. : 0.00 Min. : 0.000 Min. : 0.000
## 1st Qu.: 0.000 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0.000
## Median : 0.000 Median : 0.00 Median : 0.000 Median : 0.000
## Mean : 3.321 Mean : 11.83 Mean : 8.571 Mean : 5.457
## 3rd Qu.: 0.000 3rd Qu.: 0.00 3rd Qu.: 0.000 3rd Qu.: 0.000
## Max. :61.070 Max. :219.00 Max. :161.000 Max. :96.000
## Exits Passes.to.GK Passes.to.GK.accurate Goal.kicks
## Min. : 0.000 Min. : 0.00 Min. : 0.0 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 3.50 1st Qu.: 3.5 1st Qu.: 0.00
## Median : 0.000 Median : 12.00 Median : 12.0 Median : 0.00
## Mean : 3.686 Mean : 36.09 Mean : 36.0 Mean : 13.49
## 3rd Qu.: 0.000 3rd Qu.: 54.00 3rd Qu.: 54.0 3rd Qu.: 0.00
## Max. :70.000 Max. :146.00 Max. :146.0 Max. :258.00
## Short.goal.kicks Long.goal.kicks
## Min. : 0.00 Min. : 0.000
## 1st Qu.: 0.00 1st Qu.: 0.000
## Median : 0.00 Median : 0.000
## Mean : 13.11 Mean : 5.457
## 3rd Qu.: 0.00 3rd Qu.: 0.000
## Max. :156.00 Max. :113.000
Then I selected only the variables that I was gonna analyze on this assignment, then I also filtered the names of the players so I only had the strikers since I wanted to explore the goals and assists stats. I also changed the names of the players to have only their last names.
ballond_2025 <- ballond_2025 %>% select(Player, Positions, Minutes.played, Goals, Assists, xG, xA)
ballond_2025 <- ballond_2025 %>% filter(str_detect(Positions, "AMF|CF|CR|RW|LW|RWF|LWF"))
ballond_2025 <- ballond_2025 %>% mutate(Player = word(Player, -1))
ballond_2025 <- ballond_2025 %>% rename(Exp_Goals=xG, Exp_Assists=xA)
What I did with that information was to create the average of goals scored per match by each player. Then, I used a stacked bar chat to visualize who is the player with better statistics in this area.
ballond_2025 <- ballond_2025 %>% mutate(Matches= Minutes.played/90)
ballond_2025 <- ballond_2025 %>% mutate(Goals_match= Goals/Matches)
ballond_2025 %>%
arrange(desc(Goals_match))
## Player
## 1 Kane
## 2 Lewandowski
## 3 Haaland
## 4 Guirassy
## 5 Dembélé
## 6 Mbappé
## 7 Retegui
## 8 Isak
## 9 Salah
## 10 Raphinha
## 11 Martínez
## 12 Díaz
## 13 Thuram
## 14 McTominay
## 15 Yamal
## 16 Doué
## 17 Palmer
## 18 Dumfries
## 19 Kvaratskhelia
## 20 Fernandes
## 21 Bellingham
## 22 Hakimi
## 23 Mendes
## 24 Pedri
## 25 Neves
## 26 Barella
## Positions
## 1 AMF, CF, CF
## 2 CF
## 3 CF
## 4 CF, CF, LWF
## 5 AMF, CF, CF, LW, RW, RWF, CF, LWF, RWF, CF, RAMF, RWF, CF, RWF, LAMF, RAMF, LCMF3, RAMF, RW, RW, CF, RWF
## 6 CF, CF, LAMF, CF, LWF, LWF
## 7 CF, RWF
## 8 AMF, CF, CF, CF, LW, CF, RCMF3, LW, CF
## 9 AMF, RAMF, RAMF, CF, RAMF, RW, RAMF, RWF, RW, RW, RWB, RW, RWB, RWF, CF, RWF
## 10 AMF, AMF, CF, AMF, LAMF, AMF, LAMF, LW, AMF, LAMF, RAMF, AMF, LWF, AMF, RAMF, RW, AMF, RCMF3, CF, CF, LAMF, CF, LAMF, LW, CF, LW, LAMF, LAMF, LW, RCMF3, LAMF, LW, RW, LAMF, LWB, RWF, LAMF, RAMF, LAMF, RW, LB, LW, LWF, LWF, RCMF3, RAMF
## 11 CF, CF, LWF, DMF, CF, LW, LWF, RCMF3, CF
## 12 AMF, LAMF, CF, CF, LAMF, CF, LAMF, RW, CF, LCMF3, CF, LW, LWB, CF, LWF, LAMF, LAMF, LW, LAMF, RW, LW, LW, LWB, LWF, LWF, RWF, RAMF, RWF
## 13 AMF, CF, CF, LWB, RWF, CF, RWF, LAMF, LW, LWF
## 14 AMF, AMF, LAMF, AMF, RDMF, CF, LCMF, LCMF, LW, LCMF, RCMF, LCMF3, LCMF3, LDMF, LCMF3, LWF, LDMF, LWF, RDMF, RW
## 15 RAMF, RAMF, RW, RAMF, RW, RWB, RAMF, RWF, RW, RW, RWF, RWF
## 16 AMF, CF, AMF, LAMF, AMF, RAMF, RCMF3, CF, CF, LAMF, CF, LW, CF, LWF, CF, RWF, LAMF, LCMF3, LCMF3, LW, LCMF3, LWF, RWF, LCMF3, RB, LCMF3, RCMF3, LDMF, RAMF, LW, RW, LWF, LWF, RCMF3, LWF, RWF, RCMF, RCMF3, RCMF3, RWF, RW, RW, CF, RWF
## 17 AMF, AMF, CF, AMF, RAMF, AMF, RAMF, RDMF, AMF, RCMF, AMF, RW, CF, CF, RWF, LAMF, CF, LCMF, RAMF, RCMF, RCMF3
## 18 LW, RWB, RB, RB, RB5, RB, RCB3, RB5, RB5, RWB, RW, RWB
## 19 AMF, CF, CF, CF, LAMF, LWF, CF, LW, CF, LWB, CF, LWF, CF, LWF, RWF, LAMF, LAMF, LW, LAMF, RAMF, LW, LW, LWF, LWB, LWF, LWF, RWF, RAMF, RWF
## 20 AMF, AMF, CF, AMF, DMF, LCMF, RCMF, AMF, LAMF, AMF, LCMF, AMF, LCMF, RCMF, AMF, RAMF, AMF, RCMF, AMF, RDMF, CF, LCMF, LCMF, LCMF3, LCMF, LW, LCMF, LWF, LCMF, LWF, RCMF, LCMF, LWF, RWF, LCMF, RCMF, LCMF, RCMF, RCMF3, LCMF, RCMF, RWF, LCMF, RWF, LCMF3, LWF, CF, LCMF3, RCMF3, LWF, LWF, RCMF, LWF, RCMF, RWF, RCMF, RCMF3
## 21 AMF, AMF, CF, AMF, LW, AMF, RCMF, AMF, RDMF, CF, LCMF, LCMF, LCMF3, LCMF3, LW, LW, LW, CF, LW, RCMF, LW, RW, RCMF, RCMF3, RCMF3, RWF, CF, RDMF, CF
## 22 LB, RB, RB, RWB, RWB
## 23 LAMF, LB, LB, LB, LB5, LB, LCB3, LB, LW, LB, LWF, LCB3, LWB
## 24 AMF, AMF, LCMF, AMF, LDMF, AMF, LDMF, RDMF, CF, LCMF, LCMF, LCMF3, LDMF, LCMF, LDMF, LCMF3, LCMF3, RCMF3, LDMF, LDMF, RDMF, RCMF, RCMF3, RDMF
## 25 AMF, AMF, LCMF, CF, LW, DMF, DMF, LB, DMF, LCMF, DMF, LCMF, RCMF3, DMF, LCMF3, DMF, LWB, DMF, RCMF3, LAMF, LDMF, LB, RB, LB, RCMF, RCMF3, LCMF, LCMF, RCMF, LCMF3, LCMF3, RCMF3, RAMF, RDMF, RB, RB, RWB, RCMF, RCMF, RW, RCMF3, RDMF, RW
## 26 AMF, AMF, RW, DMF, DMF, LCMF, RCMF3, DMF, LCMF3, DMF, LCMF3, RCMF3, DMF, LCMF3, RCMF3, CF, DMF, RCMF, RCMF3, DMF, RCMF3, LCMF, LCMF, LCMF3, RCMF3, LCMF, RCMF3, RW, LCMF, RW, LCMF3, LCMF3, RCMF3, RCMF, RCMF, RCMF3, RCMF3, RCMF3, RW
## Minutes.played Goals Assists Exp_Goals Exp_Assists Matches Goals_match
## 1 4989 48 11 39.85 5.88 55.43333 0.86590499
## 2 4872 46 4 42.75 3.99 54.13333 0.84975369
## 3 5373 48 5 49.32 5.03 59.70000 0.80402010
## 4 5023 44 6 39.60 4.12 55.81111 0.78837348
## 5 4312 36 12 25.07 12.97 47.91111 0.75139147
## 6 5653 46 5 45.52 9.48 62.81111 0.73235450
## 7 3932 30 9 32.69 2.71 43.68889 0.68667345
## 8 4254 32 8 30.08 5.91 47.26667 0.67700987
## 9 5594 37 23 34.12 15.19 62.15556 0.59528066
## 10 5996 38 23 27.53 22.45 66.62222 0.57038025
## 11 4755 27 3 27.05 5.71 52.83333 0.51104101
## 12 4528 24 4 18.08 7.80 50.31111 0.47703180
## 13 4136 19 5 16.11 7.03 45.95556 0.41344294
## 14 4163 16 3 13.83 0.70 46.25556 0.34590440
## 15 5605 21 20 22.95 17.25 62.27778 0.33719893
## 16 4033 15 11 14.26 9.98 44.81111 0.33473841
## 17 4948 18 13 19.45 13.81 54.97778 0.32740501
## 18 4342 15 7 11.08 6.68 48.24444 0.31091663
## 19 4424 15 9 14.05 9.83 49.15556 0.30515371
## 20 6258 20 19 18.08 16.23 69.53333 0.28763183
## 21 5858 16 11 20.63 8.26 65.08889 0.24581769
## 22 5992 15 14 10.47 12.87 66.57778 0.22530040
## 23 5448 7 10 4.30 7.37 60.53333 0.11563877
## 24 5507 7 9 5.11 9.29 61.18889 0.11439985
## 25 5106 6 9 7.68 3.89 56.73333 0.10575793
## 26 5180 3 9 3.54 8.54 57.55556 0.05212355
ballond_2025$highlight <- ifelse(ballond_2025$Player == "Kane", "Kane", "Others")
ggplot(ballond_2025, aes(x=Goals_match, y=reorder(Player, +Goals_match), fill = highlight)) + geom_col() + scale_fill_manual(values = c("Kane" = "darkblue", "Others" = "gray")) + labs(title = "Goals average per match", x = "Goals per matches played", y = "Player")
Here I replicated the analyze but instead of using goals, I found the average of assists made per match and after it I used a plot to found who was the player with the best statistic in the season regarding assists.
ballond_2025 <- ballond_2025 %>% mutate(Assists_match= Assists/Matches)
ballond_2025$highlight <- ifelse(ballond_2025$Player == "Salah", "Salah", "Others")
ggplot(ballond_2025, aes(x=Assists_match, y=reorder(Player, +Assists_match), fill = highlight)) + geom_col() + scale_fill_manual(values = c("Salah" = "darkgreen", "Others" = "gray")) + labs(title = "Assists average per match", x = "Assists per matches played", y = "Player")
The analysis that I made here was superficial and short. I chose to only use a couple of players since I was going to use the goals and assists statistics. It means that we can not analyze the performance of a goalkeeper or defender based on how many goals they scored. Therefore, to make a better analysis and prediction we should firstly find a way to analyze the performance of each player depending on their position, and then make a comparison with others players performance to see who deserves this trophy based on the statistics.