Skip to content
Snippets Groups Projects
Commit 3da753a1 authored by Mario Garrido Tapias's avatar Mario Garrido Tapias
Browse files

Spearman matrix and pairs plots

parent 42924ea0
No related branches found
No related tags found
No related merge requests found
......@@ -4,19 +4,38 @@ setwd("/home/mariogt/TFGs/Estadistica/")
# FUNCIONES #
#####################################
puntos2d <- function(variableEnX, variableEnY, datos, temporada, color) {
# Variables AUXILIARES
maxX <- which.max(eval(parse(text = paste("datos$",variableEnX,".",temporada, sep = ""))))
maxY <- which.max(eval(parse(text = paste("datos$",variableEnY,".",temporada, sep = ""))))
xMean <- mean(eval(parse(text = paste("datos$",variableEnX,".",temporada, sep = ""))))
ggplot(datos, aes(eval(parse(text = paste(variableEnX,".",temporada, sep = ""))),
eval(parse(text = paste(variableEnY,".",temporada, sep = ""))))) +
if(missing(temporada)) {
X <- paste(variableEnX, sep = "")
Y <- paste(variableEnY, sep = "")
}
else {
X <- paste(variableEnX, ".", temporada, sep = "")
Y <- paste(variableEnY, ".", temporada, sep = "")
}
# VARIABLES AUXILIARES
# maxX <- which.max(eval(parse(text = paste("datos$",X, sep = ""))))
# maxY <- which.max(eval(parse(text = paste("datos$",Y, sep = ""))))
# xMean <- mean(eval(parse(text = paste("datos$",X, sep = ""))))
subset10X <- tail(datos[order(eval(parse(text = paste("datos$", X)))), ], 10)
subset10Y <- tail(datos[order(eval(parse(text = paste("datos$", Y)))), ], 10)
subsetXY <- subset10X
for (i in 1:10) {
player <- subset10Y$player[i]
repetido <- FALSE
for (j in 1:10) {
if(player == subset10X$player[j]) {
repetido <- TRUE
}
}
if(repetido == FALSE){
subsetXY <- rbind(subsetXY, subset10Y[i,])
}
}
cat(dim(subsetXY)[1])
ggplot(datos, aes(eval(parse(text = variableEnX)), eval(parse(text = variableEnY)))) + geom_point(colour = color) +
labs(x = titleForYAxis(variableEnX), y = titleForYAxis(variableEnY)) +
geom_point(colour = color) +
geom_label_repel(data = subset(datos,
eval(parse(text = paste(variableEnX,".",temporada, sep = ""))) >
eval(parse(text = paste(variableEnX,".",temporada, "[", maxX, "]", sep = ""))) - xMean),
aes(label = player),
geom_label_repel(subsetXY,
mapping = aes(label = player),
box.padding = 0.35,
point.padding = 0.5,
segment.color = 'grey50')
......@@ -40,7 +59,7 @@ scatterForCorr <- function(datos, variableX, variableY, season, col) {
add.params = list(color = col, fill = "lightgray"), # Customize reg. line
conf.int = TRUE # Add confidence interval
)
sp + stat_cor(method = "pearson", label.x = medianX, label.y = maxY+1.5) +
sp + stat_cor(method = "pearson", label.x = medianX+10, label.y = maxY+10.5) +
xlab(titleForYAxis(variableX)) + ylab(titleForYAxis(variableY))
}
......@@ -56,6 +75,7 @@ library(yarrr)
library(ggrepel)
library(PerformanceAnalytics) # o
library(ggpubr)
library(RColorBrewer) # paletas
# Seleccion de las varibles de ESTUDIO
......@@ -107,9 +127,9 @@ scatterForCorr(trainStudyAux, "passes_completed", "passes_pct", "1819")
scatterForCorr(trainStudyAux, "passes", "passes_pct", "1819")
# Comprobacion para variables totales promediadas
scatterForCorr(trainStudy, "passes","passes_completed")
scatterForCorr(trainStudy, "passes_completed", "passes_pct")
scatterForCorr(trainStudy, "passes", "passes_pct")
scatterForCorr(laLigaPlayersStudy, "passes","passes_completed", col = "#9A32CD")
scatterForCorr(laLigaPlayersStudy, "passes_completed", "passes_pct", col = "#9A32CD")
scatterForCorr(laLigaPlayersStudy, "passes", "passes_pct", col = "#9A32CD")
scatterForCorr(trainStudy, "pass_targets", "passes_received", "1819")
scatterForCorr(trainStudy, "passes_received", "passes_received_pct", "1819")
......@@ -130,9 +150,9 @@ scatterForCorr(train, "aerials_contested", "aerials_won", "1819")
scatterForCorr(train, "aerials_won", "aerials_won_pct", "1819")
scatterForCorr(train, "aerials_contested", "aerials_won_pct", "1819")
scatterForCorr(trainStudy, "aerials_contested", "aerials_won")
scatterForCorr(trainStudy, "aerials_won", "aerials_won_pct")
scatterForCorr(trainStudy, "aerials_contested", "aerials_won_pct")
scatterForCorr(laLigaPlayersStudy, "aerials_contested", "aerials_won", col = "#00688B")
scatterForCorr(laLigaPlayersStudy, "aerials_won", "aerials_won_pct", col = "#00688B")
scatterForCorr(laLigaPlayersStudy, "aerials_contested", "aerials_won_pct", col = "#00688B")
#CD5555
scatterForCorr(trainStudy, "dribbles", "dribbles_completed", "1819")
......@@ -140,9 +160,24 @@ scatterForCorr(trainStudy, "dribbles_completed", "dribbles_completed_pct", "1819
scatterForCorr(trainStudy, "dribbles", "dribbles_completed_pct", "1819")
#40E0D0
scatterForCorr(trainStudy, "shots_on_target_against", "saves", "1819")
scatterForCorr(trainStudy, "saves", "save_pct", "1819")
scatterForCorr(trainStudy, "shots_on_target_against", "save_pct", "1819")
scatterForCorr(trainStudy, "shots_on_target_against", "saves", "1819", "#40E0D0")
scatterForCorr(trainStudy, "saves", "save_pct", "1819", "#40E0D0")
scatterForCorr(trainStudy, "shots_on_target_against", "save_pct", "1819", "#40E0D0")
#40E0D0
scatterForCorr(laLigaPlayers, "pens_saved", "pens_played", "1819", "#40E0D0")
scatterForCorr(laLigaPlayers, "pens_saved", "pens_saved_pct", "1819", "#40E0D0")
scatterForCorr(laLigaPlayers, "pens_played", "pens_saved_pct", "1819", "#40E0D0")
#CDC673
scatterForCorr(laLigaPlayers, "pens_made", "pens_att", "1819", "#CDC673")
scatterForCorr(laLigaPlayers, "pens_made", "pens_made_pct", "1819", "#CDC673")
scatterForCorr(laLigaPlayers, "pens_att", "pens_made_pct", "1819", "#CDC673")
#00688B
scatterForCorr(laLigaPlayers, "tackles_won", "tackles", "1819", "#00688B")
scatterForCorr(laLigaPlayers, "tackles_won", "tackles_pct", "1819", "#00688B")
scatterForCorr(laLigaPlayers, "tackles", "tackles_pct", "1819", "#00688B")
# Add correlation coefficient
sp + stat_cor(method = "pearson", label.x = , label.y = 30)
......@@ -198,6 +233,48 @@ variables <- c("xa.", "passes.", "passes_pct.", "passes_switches.",
"sca_passes_dead.", "gca_passes_dead.", "sca_passes_live.", "gca_passes_live.", "sca_dribbles.", "gca_dribbles.", "sca_fouled.", "gca_fouled.",
"passes_intercepted.", "ball_recoveries.", "pressure_regains.", "fouls.", "tackles.", "tackles_pct.", "aerials_contested.", "aerials_won_pct.",
"pens_played.", "pens_saved_pct.", "saves.", "save_pct.")
variables <- c("age", "height",
"xa.", "passes.", "passes_pct.", "passes_switches.",
"pass_targets.", "passes_received_pct.", "passes_pressure.",
"npxg.", "shots_total.", "shots_on_target_pct.", "pens_att.", "pens_made_pct.",
"dribbles.", "dribbles_completed_pct.", "goals_assists_per90.",
"sca_passes_dead.", "gca_passes_dead.", "sca_passes_live.", "gca_passes_live.", "sca_dribbles.", "gca_dribbles.", "sca_fouled.", "gca_fouled.",
"passes_intercepted.", "ball_recoveries.", "pressure_regains.", "fouls.", "tackles.", "tackles_pct.", "aerials_contested.", "aerials_won_pct.")
globalColNames <- c()
for (variable in variables) {
variable <- gsub("\\.", "", variable)
globalColNames <- c(globalColNames, variable)
}
laLigaPlayersStudy <- laLigaPlayersStudy %>% select(all_of(globalColNames))
laLigaPlayersStudy <- data.frame(lapply(laLigaPlayersStudy, as.numeric))
laLigaPlayersStudyStand <- data.frame(scale(laLigaPlayersStudy))
correlacion <- round(cor(laLigaPlayersStudyStand), 1)
p.mat <- cor_pmat(laLigaPlayersStudyStand)
mypalette <- brewer.pal(n = 3, name = 'BuPu')
ggcorrplot(correlacion, type = "upper",
title = "Matriz de correlaciones ordenada",
hc.order = FALSE, lab = TRUE,
pch.cex = 1.2, lab_size = 2.5, tl.cex = 9,
colors = mypalette, ggtheme = ggplot2::theme_gray, p.mat = p.mat, insig = "blank")
correlacion <- round(cor(laLigaPlayersStudyStand, method = "spearman"), 1)
ggcorrplot(correlacion, type = "upper",
title = "Matriz de correlaciones ordenada",
hc.order = FALSE, lab = TRUE,
pch.cex = 1.2, lab_size = 2.5, tl.cex = 9,
colors = mypalette, ggtheme = ggplot2::theme_gray, p.mat = p.mat, insig = "blank")
# Imagenes: 700X500
# Presiones en las que roba el balón ~ Pases interceptados
puntos2d("pressure_regains", "passes_intercepted", laLigaPlayersStudy, color = "#00688B")
# Porcentaje de tackling ~ Faltas
puntos2d("tackles_pct", "fouls", laLigaPlayersStudy, color = "#00688B")
# Regates ~ Pases en los que es objetivo
puntos2d("dribbles", "pass_targets", laLigaPlayersStudy, color = "#CD5555")
# SCA a balón parado ~ Cambios de juego
puntos2d("sca_passes_dead", "passes_switches", laLigaPlayersStudy, color = "#9A32CD")
# Paradas contra Tiros a puerta en contra
goalkeepers <- laLigaPlayers[which(laLigaPlayers$position.1718 == "GK"),]
datos <- laLigaPlayers[which(laLigaPlayers$position.1718 == "GK")]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment