> for full codes - source codes
> for data set - football.csv file
Hey, guys here I used KAGGLE data set ( https://www.kaggle.com/datasets ) which is related to the football. There are 18156 players and 48 variables and this data set is valid for up to 2020 worldwide versa. The researcher mainly focused on to the performance ratings of the players. So according to those components I tried to carry out my data analytics and data visualizations parts.
library(tidyverse)
df <- read.csv("Foot_Ball.csv")
head(df)
## Name Age Nationality Overall Potential Club
## 1 L. Messi 31 Argentina 94 94 FC Barcelona
## 2 Cristiano Ronaldo 33 Portugal 94 94 Juventus
## 3 Neymar Jr 26 Brazil 92 93 Paris Saint-Germain
## 4 De Gea 27 Spain 91 93 Manchester United
## 5 K. De Bruyne 27 Belgium 91 92 Manchester City
## 6 E. Hazard 27 Belgium 91 91 Chelsea
## Value Wage Preferred.Foot Skill.Moves Work.Rate Position Height
## 1 \200110.5M \200565K Left 4 Medium/ Medium RF 5'7
## 2 \20077M \200405K Right 5 High/ Low ST 6'2
## 3 \200118.5M \200290K Right 5 High/ Medium LW 5'9
## 4 \20072M \200260K Right 1 Medium/ Medium GK 6'4
## 5 \200102M \200355K Right 4 High/ High RCM 5'11
## 6 \20093M \200340K Right 4 High/ Medium LF 5'8
## Weight Finishing Penalties FKAccuracy HeadingAccuracy ShortPassing
## 1 159lbs 95 75 94 70 90
## 2 183lbs 94 85 76 89 81
## 3 150lbs 87 81 87 62 84
## 4 168lbs 13 40 19 21 50
## 5 154lbs 82 79 83 55 92
## 6 163lbs 84 86 79 61 89
## LongPassing LongShots ShotPower Volleys Crossing Curve Dribbling BallControl
## 1 87 94 85 86 84 93 97 96
## 2 77 93 95 87 84 81 88 94
## 3 78 82 80 84 79 88 96 95
## 4 51 12 31 13 17 21 18 42
## 5 91 91 91 82 93 85 86 91
## 6 83 80 82 80 81 83 95 94
## Acceleration SprintSpeed Agility Reactions Balance Jumping Stamina Strength
## 1 91 86 91 95 95 68 72 59
## 2 89 91 87 96 70 95 88 79
## 3 94 90 96 94 84 61 81 49
## 4 57 58 60 90 43 67 43 64
## 5 78 76 79 91 77 63 90 75
## 6 94 88 95 90 94 56 83 66
## Positioning Composure Vision Aggression Interceptions Marking StandingTackle
## 1 94 96 94 48 22 33 28
## 2 95 95 82 63 29 28 31
## 3 89 94 87 56 36 27 24
## 4 12 68 68 38 30 15 21
## 5 87 88 94 76 61 68 58
## 6 87 91 89 54 41 34 27
## SlidingTackle GKDiving GKHandling GKKicking GKPositioning GKReflexes
## 1 26 6 11 15 14 8
## 2 23 7 11 15 14 11
## 3 33 9 9 15 15 11
## 4 13 90 85 87 88 94
## 5 51 15 13 5 10 13
## 6 22 11 12 6 8 8
Nationalities of players
Around the world football players are met as every country as the most interesting game is the football lot of nations. So I had to analyze what nationality was the most contributed for this game.
(natio <- df %>%
group_by(Nationality) %>%
summarize(count = n()))
## # A tibble: 164 x 2
## Nationality count
## <chr> <int>
## 1 Afghanistan 4
## 2 Albania 39
## 3 Algeria 60
## 4 Andorra 1
## 5 Angola 15
## 6 Antigua & Barbuda 4
## 7 Argentina 936
## 8 Armenia 10
## 9 Australia 236
## 10 Austria 296
## # ... with 154 more rows
If we consider how many players of the nationalities has contributed for this game more than 100 from one nation,
natio <- df %>%
group_by(Nationality) %>%
summarize(count = n()) %>%
filter(count>=100)
ggplot(natio, aes(x = count, fct_reorder(Nationality, count), color = "Red")) +
scale_x_continuous(breaks = seq(100, 2000, by = 100))+
geom_point() +
labs(
title = paste("NATIONALITIES OF WORLD FOOTBALL PLAYERS"),
subtitle = paste("-MORE THAN 100 PLAYRES UPTO 2020-"),
caption = paste("out of 164 nationalities"),
x = "Number of playres", y = "Nationalities"
)
England has contributed more than 1650 players for the football as the top nation and we can see how many nationalities have contributed players more than 100 from this graph's content.
Preferred Foot of the players
df %>%
group_by(Preferred.Foot) %>%
summarize(count = n())
## # A tibble: 2 x 2
## Preferred.Foot count
## <chr> <int>
## 1 Left 4211
## 2 Right 13948
From 18159 of players we can identify 13948 players who have their preferred foot as Right foot and there are 4211 players who preferred foot as Left foot as well.
The working rate according to Skill Moves of the players
There are five categories of skill moves according to players as 1,2,3,4 & 5. There are several types of working rates of players. Here I could carry out explicit visualization in together these categories. From the following outcome that components categorize in to the preferred foot also.
ggplot(df) +
geom_bar(
mapping = aes(x = Work.Rate, fill = Preferred.Foot)) +
facet_grid(Skill.Moves ~ Preferred.Foot) +
scale_y_continuous(breaks = seq(0, 5000, by = 250)) +
labs(
title = paste("Working rate according to Skill Moves of the playres"),
subtitle = paste("--separatly preferred foot"),
y = "Players"
) +
coord_flip() +
theme_grey()
According to those bar plots we can say most of players belong to 2nd skill move category and they have medium/medium working rate and same as the both type of foots.
Wages paying of clubs (by EURO *K)
There are lots of number of football clubs around the world and lot of players are given very big wage for playing under that clubs. According to these data collection we can carry out our wage analytics as this.
wagess <- read_csv("Foot_Ball.csv", col_types = cols(Wage = col_number()))
(wag_clubs <- wagess %>%
count(Club, wt = Wage))
## # A tibble: 652 x 2
## Club n
## <chr> <dbl>
## 1 "?l?sk Wroc?aw" 50
## 2 "\xc7aykur Rizespor" 193
## 3 "\xd6rebro SK" 40
## 4 "\xd6stersunds FK" 45
## 5 "1. FC Heidenheim 1846" 125
## 6 "1. FC K\xf6ln" 372
## 7 "1. FC Kaiserslautern" 44
## 8 "1. FC Magdeburg" 127
## 9 "1. FC N\xfcrnberg" 309
## 10 "1. FC Union Berlin" 382
## # ... with 642 more rows
Higher wages paying clubs (more than EURO2500K)
So out of those 652 clubs we can explicit several clubs which wages are given more than euro 2500K.
(wag_clubs <- wagess %>%
count(Club, wt = Wage, sort = TRUE) %>%
filter(n>2500))
## # A tibble: 9 x 2
## Club n
## <chr> <dbl>
## 1 Real Madrid 5017
## 2 FC Barcelona 4837
## 3 Manchester City 3741
## 4 Manchester United 3391
## 5 Juventus 3292
## 6 Chelsea 3249
## 7 Liverpool 2902
## 8 Tottenham Hotspur 2623
## 9 Arsenal 2588
ggplot(wag_clubs, aes(fct_reorder(Club, n), y = n)) +
geom_bar(stat = "identity", fill = "lime green") +
geom_text(aes(label = n), stat = "identity", vjust = 3) +
labs(
title = paste("Higher wages paying clubs (more than $2500K)"),
y = "Wages (EURO *K)", x = "Clubs" ) +
coord_polar()+
theme_gray()
Basically we can identify 9 clubs which paying more than euro 2500K for a player. From this output graph we have "Real Madrid" & "FC Barcelona" which is has most wages for the players. That is euro5017K & euro 4837K respectively.
Best ratings of Goal Keeping Performance of players
In here we can identify some of several skills of goal keeping which as, diving, handling, kicking, positioning & reflexes.
(df_gk <- wagess %>%
filter(GKDiving >= 80,
GKHandling >= 80,
GKKicking >= 80,
GKPositioning >= 80,
GKReflexes >= 80
) %>%
select(Name,
Nationality,
GKDiving,
GKHandling,
GKKicking,
GKPositioning,
GKReflexes,
Wage
))
## # A tibble: 7 x 8
## Name Nationality GKDiving GKHandling GKKicking GKPositioning GKReflexes Wage
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 De G~ Spain 90 85 87 88 94 260
## 2 M. t~ Germany 87 85 88 85 90 240
## 3 M. N~ Germany 90 86 91 87 87 130
## 4 Eder~ Brazil 85 80 91 82 87 125
## 5 Alis~ Brazil 83 81 85 84 88 115
## 6 T. H~ Germany 83 80 83 82 86 25
## 7 Pepe~ Spain 80 83 82 82 82 56
From the above content that have three from Germany and two from Brazil & Spain all together 7 players. The wages which are paid to them also represent in the last column.
names <- rep(df_gk[[1]], times = 5)
nationalities <- rep(df_gk[[2]], times = 5)
figures <- rep(
c("GKDiving", "GKHandling", "GKKicking", "GKPositioning", "GKReflexes"),
each = 7
)
ratings_gk <- c(df_gk$GKDiving, df_gk$GKHandling, df_gk$GKKicking, df_gk$GKPositioning,
df_gk$GKReflexes)
new_df_gk <- data.frame(names, nationalities, figures, ratings_gk)
ggplot(new_df_gk, aes(x = names, y = ratings_gk, fill = figures)) +
geom_bar(stat = "identity", position = "dodge", width = 1) +
scale_fill_manual(values = rainbow(5))+
geom_text(new_df_gk, mapping = aes(label = ratings_gk),
stat = "identity", position_dodge(width = 1), hjust = 1) +
facet_grid(~nationalities) +
scale_y_continuous(breaks = seq(0, 100, by = 10)) +
labs(
title = paste("Best figures of Goal Keeping Performance of players"),
y = "Performance Ratings", x = "Player")+
coord_polar()
Best ratings of shots Performance of players
In this game we can see lot of shots variations from players. That shots styles tell us how they influence to the player and also wining of the team. In here this data collections carry out some basic shots selections which are heading accuracy, long and shot passing, long shots and the shot power.
(df_shots <- df %>%
filter(HeadingAccuracy >= 75, ShortPassing >=80,
LongPassing >= 80, LongShots >= 80, ShotPower >=80) %>%
select( Name, Nationality, Position, Club, HeadingAccuracy, ShortPassing,
LongPassing, LongShots, ShotPower))
## Name Nationality Position Club
## 1 H. Kane England ST Tottenham Hotspur
## 2 G. Bale Wales ST Real Madrid
## 3 S. Milinkovi?-Savi? Serbia CM Lazio
## 4 D. Alaba Austria LB FC Bayern München
## 5 Paulinho Brazil LDM Guangzhou Evergrande Taobao FC
## 6 C. Tolisso France CM FC Bayern München
## 7 M. Parolo Italy RDM Lazio
## 8 W. Rooney England ST DC United
## HeadingAccuracy ShortPassing LongPassing LongShots ShotPower
## 1 85 80 82 85 88
## 2 84 85 80 91 92
## 3 86 85 85 80 83
## 4 75 82 80 82 83
## 5 85 84 80 80 83
## 6 82 84 86 81 82
## 7 75 80 83 86 87
## 8 75 81 82 80 85
We can see difference positions of players which related to this shots accuracy ratings and also difference football clubs which related to these top 8 players.
names_st <- rep(df_shots[[1]], times = 5)
nationalities_st <- rep(df_shots[[2]], times = 5)
position <- rep(df_shots[[3]], times = 5)
clubs <- rep(df_shots[[4]], times = 5)
rates <- rep(
c("HeadingAccuracy", "ShortPassing", "LongPassing", "LongShots", "ShotPower"),
each = 8 )
ratings_st <- c(df_shots$HeadingAccuracy, df_shots$ShortPassing,
df_shots$LongPassing, df_shots$LongShots, df_shots$ShotPower)
new_df_shots <- data.frame(names_st, nationalities_st,
position, clubs, rates, ratings_st)
ggplot(new_df_shots, aes(x = names_st, y = ratings_st, fill = rates))+
geom_bar(stat = "identity", position = "dodge") +
scale_fill_manual(values = c("HeadingAccuracy" = "maroon1",
"ShortPassing" = "mediumorchid3",
"LongPassing" = "steelblue4 ",
"LongShots" = "springgreen2",
'ShotPower' = "turquoise")) +
geom_text(new_df_shots, mapping = aes(label = ratings_st),
stat = "identity", position_dodge(width = 1), hjust = 7) +
facet_grid(~nationalities_st) +
scale_y_continuous(breaks = seq(0, 110, by = 10)) +
labs(
title = paste("Best ratings of shots Performance of players"),
y = "Performance Ratings", x = "Player")+
coord_flip()+
theme_classic(base_size = 11, base_line_size = 0.8)
From the above content we can see how they vary from the difference nationalities.
Top ratings of Finishing, Penalties and FK Accuracy
When we are talking about the finishing, penalties and FK accuracy I thought that category ratings more influence to the winning of a team.
(df_rat <- df %>%
filter(Finishing >= 80,Penalties >= 80, FKAccuracy >= 80) %>%
select( Name, Nationality, Position, Club, Finishing, Penalties, FKAccuracy))
## Name Nationality Position Club Finishing Penalties
## 1 Neymar Jr Brazil LW Paris Saint-Germain 87 81
## 2 L. Suárez Uruguay RS FC Barcelona 93 85
## 3 R. Lewandowski Poland ST FC Bayern München 91 88
## 4 P. Dybala Argentina LF Juventus 84 86
## 5 J. RodrÃguez Colombia LAM FC Bayern München 83 81
## 6 I. Rakiti? Croatia RCM FC Barcelona 83 82
## 7 M. Reus Germany LM Borussia Dortmund 87 89
## 8 Z. Ibrahimovi? Sweden RS LA Galaxy 86 89
## 9 David Villa Spain ST New York City FC 86 88
## 10 W. Rooney England ST DC United 80 81
## FKAccuracy
## 1 87
## 2 84
## 3 86
## 4 88
## 5 86
## 6 84
## 7 84
## 8 82
## 9 80
## 10 83
Ten players have the ratings above 80 scales for those components and we can see how they vary with nationalities and difference clubs and that players have some difference positions on the ground.
ggplot(df_rat) +
geom_line(aes(fct_reorder(Name, Finishing), y = Finishing,group = 1, color = "Finishing"), size = 1) +
geom_point(aes(x = Name, y = Finishing, color = "Finishing"), size = 8, stat = "identity") +
geom_text(df_rat, mapping = aes(x = Name, y = Finishing, label = Finishing),
stat = "identity", hjust = 2) +
geom_point(aes(x = Name, y = Penalties, color = "Penalties"), size = 5, stat = "identity")+
geom_point(aes(x = Name, y = FKAccuracy, color = "FKAccuracy"), size = 5, stat = "identity") +
scale_y_continuous(breaks = seq(80, 100, by = 1)) +
labs(
title = paste("Top ratings of Finishing, Penalties and FKAccuracy"),
y = "Ratings", x = "Player" ) +
theme_bw()
By plotting those things we can see how other ratings are changing from according to ascending order of finishing rate of the players.
Defensive Performance
In the football game the defensive is the main part of the roll. All crowds who love the football know how the defensing is value for the football. Here the data set collects the most valuable ratings related to the defensing. Aggression, Interceptions, Marking, Standing Tackle and Sliding Tackle ratings are discussed here.
(df_diff <- df %>%
filter(Aggression >= 85, Interceptions >= 85,
Marking >= 85, StandingTackle >= 85, SlidingTackle >= 85) %>%
select( Name, Nationality, Position, Club, Aggression, Interceptions,
Marking, StandingTackle, SlidingTackle))
## Name Nationality Position Club Aggression
## 1 Sergio Ramos Spain RCB Real Madrid 88
## 2 D. GodÃn Uruguay CB Atlético Madrid 89
## 3 N. Kanté France LDM Chelsea 90
## 4 G. Chiellini Italy LCB Juventus 92
## 5 Casemiro Brazil CDM Real Madrid 87
## 6 K. Koulibaly Senegal LCB Napoli 87
## 7 M. Benatia Morocco CB Juventus 86
## 8 K. Manolas Greece LCB Roma 86
## 9 J. Giménez Uruguay RCB Atlético Madrid 89
## 10 Javi MartÃnez Spain CDM FC Bayern München 90
## Interceptions Marking StandingTackle SlidingTackle
## 1 90 87 92 91
## 2 88 90 89 89
## 3 92 90 91 85
## 4 88 93 93 90
## 5 87 88 90 87
## 6 88 91 88 86
## 7 86 89 87 85
## 8 86 86 87 89
## 9 85 88 86 87
## 10 87 85 86 86
We can see from above contents the top orders who have high ratings to defensing. These ten players have different nationalities, clubs and different positions.
ggplot(df_diff, mapping = aes(fct_reorder(Name, Aggression), y = Aggression, group = 1)) +
geom_point(aes(color = "Aggression"), size = 7) +
geom_line(color = "red", size = 1) +
geom_point(aes(x = Name, y = Interceptions, color = "Interceptions"), size = 4)+
geom_point(aes(x = Name, y = Marking, shape = "Marking"), size = 5) +
scale_y_continuous(breaks = seq(85, 100, by = 1)) +
labs(
title = paste("Top Defensive Performance"),
subtitle = paste("-Aggression, Interceptions & Marking"),
y = "Ratings", x = "Player" ) +
theme_linedraw() +
coord_polar()
Aggression, Interceptions and Marking skills are most important ratings of the defensing. We can see vary appearance of these ratings in order to ascending order of Aggression skill.
Tackling performance
ggplot(df_diff) +
geom_line(aes(fct_reorder(Name, StandingTackle), y = StandingTackle,group = 1, color = "StandingTackle"), size = 1) +
geom_point(aes(fct_reorder(Name, StandingTackle), y = StandingTackle, color = "StandingTackle"), size = 3) +
geom_line(aes(x = Name, y = SlidingTackle, group = 1,color = "SlidingTackle"), size = 1) +
geom_point(aes(x = Name, y = SlidingTackle, color = "SlidingTackle"), size = 3) +
scale_y_continuous(breaks = seq(85, 100, by = 1)) +
labs(
title = paste("Top Tuckling performance"),
subtitle = paste("-Standing & Sliding"),
y = "Ratings", x = "Player" ) +
theme_linedraw() +
coord_polar()
There are two tackle positions and we can see how the two ratings differ from other. The graph content based on to ascending order of standing tackle ratings.
Top common performance ratings of players
During analyzing those things I could catch some basic performance of players. Those are much valuable ratings for taking idea about how the players' performances are. Here I used mainly 75 scale (I used 70 scale for only Balance rating) marks to filter those rating when I select the top order players. It could be miss some good players because I tried to filter here those performance altogether.
(df_com <- df %>%
filter(Volleys >= 75, Crossing >= 75, Curve >= 75, Dribbling >= 75,
BallControl >= 75, Acceleration >= 75, SprintSpeed >= 75, Agility >= 75,
Reactions >= 75, Balance >= 70,
Positioning >= 75, Composure >= 75, Vision >= 75) %>%
select( Name, Nationality, Club, Volleys, Crossing, Curve, Dribbling,
BallControl, Acceleration, SprintSpeed, Agility,
Reactions, Balance,
Positioning, Composure, Vision))
## Name Nationality Club Volleys Crossing
## 1 L. Messi Argentina FC Barcelona 86 84
## 2 Cristiano Ronaldo Portugal Juventus 87 84
## 3 Neymar Jr Brazil Paris Saint-Germain 84 79
## 4 K. De Bruyne Belgium Manchester City 82 93
## 5 E. Hazard Belgium Chelsea 80 81
## 6 L. Suárez Uruguay FC Barcelona 88 77
## 7 P. Dybala Argentina Juventus 88 82
## 8 A. Griezmann France Atlético Madrid 87 82
## 9 K. Mbappé France Paris Saint-Germain 78 77
## 10 Coutinho Brazil FC Barcelona 75 79
## 11 P. Aubameyang Gabon Arsenal 86 77
## 12 L. Sané Germany Manchester City 85 83
## 13 Douglas Costa Brazil Juventus 76 84
## 14 M. Reus Germany Borussia Dortmund 90 79
## 15 Marco Asensio Spain Real Madrid 79 82
## 16 N. Fekir France Olympique Lyonnais 77 83
## 17 A. Sánchez Chile Manchester United 83 77
## 18 Bruno Fernandes Portugal Sporting CP 84 84
## 19 H. Son Korea Republic Tottenham Hotspur 79 78
## 20 Iago Aspas Spain RC Celta 83 80
## 21 A. Di MarÃa Argentina Paris Saint-Germain 77 83
## 22 Quaresma Portugal Be?ikta? JK 80 92
## 23 A. Robben Netherlands FC Bayern München 86 80
## 24 O. Dembélé France FC Barcelona 76 78
## 25 Ronaldo Cabrais Brazil Grêmio 76 83
## 26 T. Lemar France Atlético Madrid 78 83
## 27 K. Coman France FC Bayern München 77 81
## 28 J. Draxler Germany Paris Saint-Germain 84 83
## 29 H. Mkhitaryan Armenia Arsenal 81 77
## 30 F. Ribéry France FC Bayern München 79 80
## 31 G. Bonaventura Italy Milan 78 82
## 32 N. Gaitán Argentina Dalian YiFang FC 81 80
## 33 L. Bailey Jamaica Bayer 04 Leverkusen 75 77
## 34 A. Plea France Borussia Mönchengladbach 81 78
## 35 T. Hazard Belgium Borussia Mönchengladbach 80 77
## 36 C. Vela Mexico Los Angeles FC 82 79
## 37 I. Traoré Guinea Borussia Mönchengladbach 75 80
## 38 E. Lavezzi Argentina Hebei China Fortune FC 77 77
## Curve Dribbling BallControl Acceleration SprintSpeed Agility Reactions
## 1 93 97 96 91 86 91 95
## 2 81 88 94 89 91 87 96
## 3 88 96 95 94 90 96 94
## 4 85 86 91 78 76 79 91
## 5 83 95 94 94 88 95 90
## 6 86 87 90 86 75 82 92
## 7 88 92 92 87 83 91 86
## 8 84 88 90 88 85 90 90
## 9 77 90 91 96 96 92 87
## 10 91 91 92 89 75 92 83
## 11 80 79 82 93 95 76 87
## 12 82 88 85 93 96 88 81
## 13 84 92 91 97 93 93 84
## 14 89 87 86 86 85 86 87
## 15 83 86 85 85 82 79 82
## 16 81 90 89 79 79 90 80
## 17 79 87 86 86 79 90 83
## 18 85 83 85 79 76 77 84
## 19 81 88 85 88 87 82 84
## 20 80 86 85 85 78 87 85
## 21 84 86 85 85 84 92 80
## 22 94 89 88 84 82 91 78
## 23 90 89 88 83 76 87 85
## 24 78 90 83 93 92 90 82
## 25 86 85 83 88 87 85 84
## 26 85 85 86 86 84 87 80
## 27 84 88 83 95 93 87 81
## 28 78 88 89 78 77 80 83
## 29 83 84 86 84 78 87 79
## 30 83 84 87 78 78 84 83
## 31 78 83 85 75 77 77 82
## 32 88 84 83 84 79 87 82
## 33 77 86 82 94 90 86 80
## 34 78 78 79 78 77 79 81
## 35 83 85 83 86 77 91 81
## 36 81 83 83 78 80 81 78
## 37 85 85 80 89 79 93 80
## 38 83 82 83 85 83 87 81
## Balance Positioning Composure Vision
## 1 95 94 96 94
## 2 70 95 95 82
## 3 84 89 94 87
## 4 77 87 88 94
## 5 94 87 91 89
## 6 83 92 85 84
## 7 85 84 84 87
## 8 80 91 87 83
## 9 83 88 86 82
## 10 93 84 85 90
## 11 70 90 86 77
## 12 81 84 78 82
## 13 91 76 84 84
## 14 81 88 84 86
## 15 76 82 83 84
## 16 91 81 89 81
## 17 87 84 84 82
## 18 78 79 83 86
## 19 76 85 82 80
## 20 74 86 85 75
## 21 77 82 82 82
## 22 84 78 80 84
## 23 90 84 85 80
## 24 85 79 75 84
## 25 76 82 81 83
## 26 86 77 80 85
## 27 84 79 75 75
## 28 75 79 83 84
## 29 85 82 76 84
## 30 90 77 85 84
## 31 77 78 82 82
## 32 81 77 80 82
## 33 84 80 75 77
## 34 78 83 76 78
## 35 83 81 76 80
## 36 81 81 80 81
## 37 94 76 79 76
## 38 85 82 78 83
In here we can filter 38 players who have top marks of these ratings altogether. If a player has one type of rating is high that player is note here. These all 38 players have all performances more than 75 scale. Here I selected Vision, Volleys, Crossing, Curve and Dribbling ratings for build some visualization. This scatter plot carry out according to ascending order of the Vision rating of the player.
ggplot(df_com) +
geom_line(aes(fct_reorder(Name, Vision), y = Vision,group = 1, shape = "Vision"), size = 1) +
geom_point(aes(fct_reorder(Name, Vision), y = Vision, shape = "Vision"), size = 3) +
geom_point(aes(x = Name, y = Volleys, color = "Volleys"), size = 3) +
geom_point(aes(x = Name, y = Crossing, color = "Crossing"), size = 3) +
geom_point(aes(x = Name, y = Curve, color = "Curve"), size = 3) +
geom_point(aes(x = Name, y = Dribbling, color = "Dribbling"), size = 5) +
scale_y_continuous(breaks = seq(75, 100, by = 1)) +
labs(
title = paste("Top common performance ratings of players"),
subtitle = paste("-Vision, Volleys, Crossing, Curve, Dribbling"),
y = "Ratings", x = "Player" ) +
theme_get() +
coord_flip()
0 Comments