Análisis sobre porcentaje de tatuajes en jugadores de equipos de Fútbol

En esta sección, se ofrecen estadísticas descriptivas para dos equipos de fútbol, donde se analizan los porcentajes de tatuajes presentes en los cuerpos de sus jugadores.

Vamos a realizar ejercicios para entender las medidas de tendencia central y dispersión.

Recuerda que estamos trabajando en markdown. Para ello se debe insertar trozos de codigo (chunks), con acento grave (back ticks)

Acceso a datos

Set working directory

setwd("/cloud/project/1. Jugadores_IQR")

Llamar base de datos. Varias formas:

##write.csv(equipos,file= "equipos.csv", row.names=FALSE)
##read.csv(file= "equipos.csv")
##read.csv(file.choose(), header=TRUE)
##equipos <- read.csv("equipos.csv")
##View(equipos)

Incluir datos usando el archivo equipos.csv

setwd("/cloud/project/1. Jugadores_IQR")
equipos <- read.csv("equipos.csv")

Si no tienes los datos, incluyelos manualmente

jugadores1<- c(10.8, 14.1, 17.6, 19.3, 15.4, 15.3, 15, 17.8, 13.5, 12.1, 14.1)
jugadores2<- c(0.0, 24.1,  5.6, 14.1, 17.2,  8.7, 19.2, 14.1, 27.7, 15.0, 19.3)

Generar un dataset

Una vez incluidos los datos como vectores, podemos generar un dataset

equipos<-data.frame(jugadores1, jugadores2)

Podemos agregar una columna adicional con cbind

tipo<- c("arquero", "delantero", "central", "delantero", "defensa", "defensa", "central", "delantero", "carrilero", "central", "carrilero")
equipos <- cbind(equipos, tipo)

quitemos un momento la columna tipo para incorporarla de nuevo usando el dplyr

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
equipos <- equipos %>%
              select (-tipo)

Adicionemos la columna con dplyr

equipos <- equipos %>%
  mutate(tipo=tipo)

Muy Bien, ahora ya sabes utilizar los pipes de dpyl. Sigamos con las descriptivas.

Resumen estadístico de datos

Primero adjuntemos la base de datos, para dejar de utilizar el simbolo $.

attach(equipos)
## The following objects are masked _by_ .GlobalEnv:
## 
##     jugadores1, jugadores2, tipo

Medidas de tendencia central

Veamos un resumen de los datos de tendencia central

summary(equipos)
##    jugadores1     jugadores2        tipo          
##  Min.   :10.8   Min.   : 0.00   Length:11         
##  1st Qu.:13.8   1st Qu.:11.40   Class :character  
##  Median :15.0   Median :15.00   Mode  :character  
##  Mean   :15.0   Mean   :15.00                     
##  3rd Qu.:16.5   3rd Qu.:19.25                     
##  Max.   :19.3   Max.   :27.70
summary(jugadores1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    10.8    13.8    15.0    15.0    16.5    19.3
summary(jugadores2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00   11.40   15.00   15.00   19.25   27.70

Podemos calcularlas también con los siguientes comandos

Media y mediana

mean(jugadores1)
## [1] 15
median(jugadores1)
## [1] 15
mean(jugadores2)
## [1] 15
median(jugadores2)
## [1] 15

Medidas de dispersión

Calculemos el Rango y ICR

rango1<- max(jugadores1)-min(jugadores1)
rango2<- max(jugadores2)-min(jugadores2)
range(jugadores1)
## [1] 10.8 19.3
range(jugadores2)
## [1]  0.0 27.7
cuartiles_1 <-quantile(jugadores1, c(0.25,0.75))
rango_intercuartilico_1 <- cuartiles_1[2] - cuartiles_1[1]
cat("Rango Intercuartílico:", rango_intercuartilico_1, "\n")
## Rango Intercuartílico: 2.7
cuartiles_2 <-quantile(jugadores2, c(0.25,0.75))
rango_intercuartilico_2 <- cuartiles_2[2] - cuartiles_2[1]
cat("Rango Intercuartílico:", rango_intercuartilico_2, "\n")
## Rango Intercuartílico: 7.85
# Alternativamente
IQR(jugadores1)
## [1] 2.7
IQR(jugadores2)
## [1] 7.85

Grafiquemos un gráfico de dispersion

plot(jugadores1, col= "blue")

plot(jugadores2, col= "lightgreen")

¿Qué nos dicen los histogramas?

hist(jugadores1, col= "blue")

hist(jugadores2, col= "lightgreen")

Diagrama de caja (boxplots). En cada diagrama de caja podemos ver el rango intercuartílico entre el quartile 3 y quartile 1 de la distribución de cada equipo.

boxplot(jugadores1, col="blue")

boxplot(jugadores2, col= "lightgreen")

Ahora hallemos la varianza

var(jugadores1)
## [1] 6.326
var(jugadores2)
## [1] 63.974

Ahora hallemos la desviación estándar

sd(jugadores1)
## [1] 2.515154
sd(jugadores2)
## [1] 7.998375

Podemos hallar ahora una medida de variabilidad conocida como el coeficiente de variacion, el cual es la division entre la desviacion estandar y la media (poblacional o muestral)

Realicemos una funcion para ello

coef_variacion <- function(x) {
  desviacion_estandar <- sd(x)
  media <- mean(x)
  coef_var <- (desviacion_estandar / media) * 100
  return(coef_var)
}

Aplicar la función a los vectores de datos

cv_jugadores1 <- coef_variacion(jugadores1)
cv_jugadores2 <- coef_variacion(jugadores2)

Imprimir los resultados de la funcion

cat("Coeficiente de variación para jugadores1:", cv_jugadores1, "%\n")
## Coeficiente de variación para jugadores1: 16.76769 %
cat("Coeficiente de variación para jugadores2:", cv_jugadores2, "%\n")
## Coeficiente de variación para jugadores2: 53.3225 %

Estandarización

# estandarizar una sola columna (variable), por ejemplo jugadores 1
stand_jugadores1 <- (equipos$jugadores1 - mean(equipos$jugadores1)) / sd(equipos$jugadores1)
stand_jugadores1
##  [1] -1.6698778 -0.3578310  1.0337339  1.7096368  0.1590360  0.1192770
##  [7]  0.0000000  1.1132519 -0.5963849 -1.1530109 -0.3578310
stand_jugadores2 <- (equipos$jugadores2 - mean(equipos$jugadores2)) / sd(equipos$jugadores2)
stand_jugadores2
##  [1] -1.8753810  1.1377311 -1.1752387 -0.1125229  0.2750559 -0.7876600
##  [7]  0.5251067 -0.1125229  1.5878226  0.0000000  0.5376092
equipos<- cbind(equipos, stand_jugadores1,stand_jugadores2)
equipos

Normalización

# definir la funcion de normalizacion
min_max_norm <- function(x) {(x-min(x))/(max(x)-min(x))}
norm_equipos<- as.data.frame(lapply(equipos[1:2], min_max_norm))
norm_equipos
equipos <-cbind(equipos, norm_equipos)
equipos
LS0tCnRpdGxlOiAiRGVzY3JpcHRpdmFzX1RhdHVhamUgZW4gZXF1aXBvcyAiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgojIEFuw6FsaXNpcyBzb2JyZSBwb3JjZW50YWplIGRlIHRhdHVhamVzIGVuIGp1Z2Fkb3JlcyBkZSBlcXVpcG9zIGRlIEbDunRib2wKCkVuIGVzdGEgc2VjY2nDs24sIHNlIG9mcmVjZW4gZXN0YWTDrXN0aWNhcyBkZXNjcmlwdGl2YXMgcGFyYSBkb3MgZXF1aXBvcyBkZSBmw7p0Ym9sLCBkb25kZSBzZSBhbmFsaXphbiBsb3MgcG9yY2VudGFqZXMgZGUgdGF0dWFqZXMgcHJlc2VudGVzIGVuIGxvcyBjdWVycG9zIGRlIHN1cyBqdWdhZG9yZXMuCgpWYW1vcyBhIHJlYWxpemFyIGVqZXJjaWNpb3MgcGFyYSBlbnRlbmRlciBsYXMgbWVkaWRhcyBkZSB0ZW5kZW5jaWEgY2VudHJhbCB5IGRpc3BlcnNpw7NuLgoKUmVjdWVyZGEgcXVlIGVzdGFtb3MgdHJhYmFqYW5kbyBlbiBtYXJrZG93bi4gUGFyYSBlbGxvIHNlIGRlYmUgaW5zZXJ0YXIgdHJvem9zIGRlIGNvZGlnbyAoY2h1bmtzKSwgY29uIGFjZW50byBncmF2ZSAoYmFjayB0aWNrcykgCgojIEFjY2VzbyBhIGRhdG9zClNldCB3b3JraW5nIGRpcmVjdG9yeSAKYGBge3J9CnNldHdkKCIvY2xvdWQvcHJvamVjdC8xLiBKdWdhZG9yZXNfSVFSIikKYGBgCgpMbGFtYXIgYmFzZSBkZSBkYXRvcy4gVmFyaWFzIGZvcm1hczoKYGBge3J9CiMjd3JpdGUuY3N2KGVxdWlwb3MsZmlsZT0gImVxdWlwb3MuY3N2Iiwgcm93Lm5hbWVzPUZBTFNFKQojI3JlYWQuY3N2KGZpbGU9ICJlcXVpcG9zLmNzdiIpCiMjcmVhZC5jc3YoZmlsZS5jaG9vc2UoKSwgaGVhZGVyPVRSVUUpCiMjZXF1aXBvcyA8LSByZWFkLmNzdigiZXF1aXBvcy5jc3YiKQojI1ZpZXcoZXF1aXBvcykKYGBgCgojIyBJbmNsdWlyIGRhdG9zIHVzYW5kbyBlbCBhcmNoaXZvIGVxdWlwb3MuY3N2CgpgYGB7ciBMbGFtYXIgZGF0b3N9CnNldHdkKCIvY2xvdWQvcHJvamVjdC8xLiBKdWdhZG9yZXNfSVFSIikKZXF1aXBvcyA8LSByZWFkLmNzdigiZXF1aXBvcy5jc3YiKQoKYGBgCgpTaSBubyB0aWVuZXMgbG9zIGRhdG9zLCBpbmNsdXllbG9zIG1hbnVhbG1lbnRlIApgYGB7cn0KanVnYWRvcmVzMTwtIGMoMTAuOCwgMTQuMSwgMTcuNiwgMTkuMywgMTUuNCwgMTUuMywgMTUsIDE3LjgsIDEzLjUsIDEyLjEsIDE0LjEpCmp1Z2Fkb3JlczI8LSBjKDAuMCwgMjQuMSwgIDUuNiwgMTQuMSwgMTcuMiwgIDguNywgMTkuMiwgMTQuMSwgMjcuNywgMTUuMCwgMTkuMykKYGBgCgojIyBHZW5lcmFyIHVuIGRhdGFzZXQKVW5hIHZleiBpbmNsdWlkb3MgbG9zIGRhdG9zIGNvbW8gdmVjdG9yZXMsIHBvZGVtb3MgZ2VuZXJhciB1biBkYXRhc2V0IAoKYGBge3J9CmVxdWlwb3M8LWRhdGEuZnJhbWUoanVnYWRvcmVzMSwganVnYWRvcmVzMikKYGBgCgpQb2RlbW9zIGFncmVnYXIgdW5hIGNvbHVtbmEgYWRpY2lvbmFsIGNvbiBjYmluZAoKYGBge3J9CnRpcG88LSBjKCJhcnF1ZXJvIiwgImRlbGFudGVybyIsICJjZW50cmFsIiwgImRlbGFudGVybyIsICJkZWZlbnNhIiwgImRlZmVuc2EiLCAiY2VudHJhbCIsICJkZWxhbnRlcm8iLCAiY2FycmlsZXJvIiwgImNlbnRyYWwiLCAiY2FycmlsZXJvIikKZXF1aXBvcyA8LSBjYmluZChlcXVpcG9zLCB0aXBvKQpgYGAKCnF1aXRlbW9zIHVuIG1vbWVudG8gbGEgY29sdW1uYSB0aXBvIHBhcmEgaW5jb3Jwb3JhcmxhIGRlIG51ZXZvIHVzYW5kbyBlbCAqKmRwbHlyKioKCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQplcXVpcG9zIDwtIGVxdWlwb3MgJT4lCiAgICAgICAgICAgICAgc2VsZWN0ICgtdGlwbykKYGBgCkFkaWNpb25lbW9zIGxhIGNvbHVtbmEgY29uIGRwbHlyCgpgYGB7cn0KZXF1aXBvcyA8LSBlcXVpcG9zICU+JQogIG11dGF0ZSh0aXBvPXRpcG8pCmBgYAoKTXV5IEJpZW4sIGFob3JhIHlhIHNhYmVzIHV0aWxpemFyIGxvcyBwaXBlcyBkZSBkcHlsLiBTaWdhbW9zIGNvbiBsYXMgZGVzY3JpcHRpdmFzLiAKCiMgUmVzdW1lbiBlc3RhZMOtc3RpY28gZGUgZGF0b3MgCgpQcmltZXJvIGFkanVudGVtb3MgbGEgYmFzZSBkZSBkYXRvcywgcGFyYSBkZWphciBkZSB1dGlsaXphciBlbCBzaW1ib2xvICoqJCoqLiAKYGBge3IgcmVzdW1lbiBkZSBkYXRvc30KYXR0YWNoKGVxdWlwb3MpCmBgYAoKIyMgTWVkaWRhcyBkZSB0ZW5kZW5jaWEgY2VudHJhbAoKVmVhbW9zIHVuIHJlc3VtZW4gZGUgbG9zIGRhdG9zIGRlIHRlbmRlbmNpYSBjZW50cmFsCmBgYHtyfQpzdW1tYXJ5KGVxdWlwb3MpCnN1bW1hcnkoanVnYWRvcmVzMSkKc3VtbWFyeShqdWdhZG9yZXMyKQpgYGAKClBvZGVtb3MgY2FsY3VsYXJsYXMgdGFtYmnDqW4gY29uIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zCgoqKk1lZGlhKiogeSAqKm1lZGlhbmEqKiAKYGBge3J9Cm1lYW4oanVnYWRvcmVzMSkKbWVkaWFuKGp1Z2Fkb3JlczEpCm1lYW4oanVnYWRvcmVzMikKbWVkaWFuKGp1Z2Fkb3JlczIpCgpgYGAKCiMjIE1lZGlkYXMgZGUgZGlzcGVyc2nDs24KQ2FsY3VsZW1vcyBlbCAqKlJhbmdvKiogeSAqKklDUioqCmBgYHtyIHJhbmdvICsgSUNSfQpyYW5nbzE8LSBtYXgoanVnYWRvcmVzMSktbWluKGp1Z2Fkb3JlczEpCnJhbmdvMjwtIG1heChqdWdhZG9yZXMyKS1taW4oanVnYWRvcmVzMikKcmFuZ2UoanVnYWRvcmVzMSkKcmFuZ2UoanVnYWRvcmVzMikKCmN1YXJ0aWxlc18xIDwtcXVhbnRpbGUoanVnYWRvcmVzMSwgYygwLjI1LDAuNzUpKQpyYW5nb19pbnRlcmN1YXJ0aWxpY29fMSA8LSBjdWFydGlsZXNfMVsyXSAtIGN1YXJ0aWxlc18xWzFdCmNhdCgiUmFuZ28gSW50ZXJjdWFydMOtbGljbzoiLCByYW5nb19pbnRlcmN1YXJ0aWxpY29fMSwgIlxuIikKCmN1YXJ0aWxlc18yIDwtcXVhbnRpbGUoanVnYWRvcmVzMiwgYygwLjI1LDAuNzUpKQpyYW5nb19pbnRlcmN1YXJ0aWxpY29fMiA8LSBjdWFydGlsZXNfMlsyXSAtIGN1YXJ0aWxlc18yWzFdCmNhdCgiUmFuZ28gSW50ZXJjdWFydMOtbGljbzoiLCByYW5nb19pbnRlcmN1YXJ0aWxpY29fMiwgIlxuIikKCiMgQWx0ZXJuYXRpdmFtZW50ZQpJUVIoanVnYWRvcmVzMSkKSVFSKGp1Z2Fkb3JlczIpCgoKYGBgCgpHcmFmaXF1ZW1vcyB1biBncsOhZmljbyBkZSBkaXNwZXJzaW9uCgpgYGB7ciBwbG90fQpwbG90KGp1Z2Fkb3JlczEsIGNvbD0gImJsdWUiKQpwbG90KGp1Z2Fkb3JlczIsIGNvbD0gImxpZ2h0Z3JlZW4iKQpgYGAKCioqwr9RdcOpIG5vcyBkaWNlbiBsb3MgaGlzdG9ncmFtYXM/KioKCmBgYHtyIGhpc3RvcmdyYW1hc30KaGlzdChqdWdhZG9yZXMxLCBjb2w9ICJibHVlIikKaGlzdChqdWdhZG9yZXMyLCBjb2w9ICJsaWdodGdyZWVuIikKYGBgCgoqKkRpYWdyYW1hIGRlIGNhamEqKiAoYm94cGxvdHMpLiBFbiBjYWRhIGRpYWdyYW1hIGRlIGNhamEgcG9kZW1vcyB2ZXIgZWwgcmFuZ28gaW50ZXJjdWFydMOtbGljbyBlbnRyZSBlbCBxdWFydGlsZSAzIHkgcXVhcnRpbGUgMSBkZSBsYSBkaXN0cmlidWNpw7NuIGRlIGNhZGEgZXF1aXBvLiAKCmBgYHtyIGJveHBsb3R9CmJveHBsb3QoanVnYWRvcmVzMSwgY29sPSJibHVlIikKYm94cGxvdChqdWdhZG9yZXMyLCBjb2w9ICJsaWdodGdyZWVuIikKYGBgCgpBaG9yYSBoYWxsZW1vcyBsYSAqKnZhcmlhbnphKioKYGBge3J9CnZhcihqdWdhZG9yZXMxKQp2YXIoanVnYWRvcmVzMikKYGBgCgpBaG9yYSBoYWxsZW1vcyBsYSAqKmRlc3ZpYWNpw7NuIGVzdMOhbmRhcioqCmBgYHtyfQpzZChqdWdhZG9yZXMxKQpzZChqdWdhZG9yZXMyKQpgYGAKClBvZGVtb3MgaGFsbGFyIGFob3JhIHVuYSBtZWRpZGEgZGUgdmFyaWFiaWxpZGFkIGNvbm9jaWRhIGNvbW8gZWwgKipjb2VmaWNpZW50ZSBkZSB2YXJpYWNpb24qKiwgZWwgY3VhbCBlcyBsYSBkaXZpc2lvbiBlbnRyZSBsYSBkZXN2aWFjaW9uIGVzdGFuZGFyIHkgbGEgbWVkaWEgKHBvYmxhY2lvbmFsIG8gbXVlc3RyYWwpCgpSZWFsaWNlbW9zIHVuYSBmdW5jaW9uIHBhcmEgZWxsbwpgYGB7cn0KY29lZl92YXJpYWNpb24gPC0gZnVuY3Rpb24oeCkgewogIGRlc3ZpYWNpb25fZXN0YW5kYXIgPC0gc2QoeCkKICBtZWRpYSA8LSBtZWFuKHgpCiAgY29lZl92YXIgPC0gKGRlc3ZpYWNpb25fZXN0YW5kYXIgLyBtZWRpYSkgKiAxMDAKICByZXR1cm4oY29lZl92YXIpCn0KYGBgCgpBcGxpY2FyIGxhIGZ1bmNpw7NuIGEgbG9zIHZlY3RvcmVzIGRlIGRhdG9zCmBgYHtyfQpjdl9qdWdhZG9yZXMxIDwtIGNvZWZfdmFyaWFjaW9uKGp1Z2Fkb3JlczEpCmN2X2p1Z2Fkb3JlczIgPC0gY29lZl92YXJpYWNpb24oanVnYWRvcmVzMikKYGBgCgpJbXByaW1pciBsb3MgcmVzdWx0YWRvcyBkZSBsYSBmdW5jaW9uCgpgYGB7cn0KY2F0KCJDb2VmaWNpZW50ZSBkZSB2YXJpYWNpw7NuIHBhcmEganVnYWRvcmVzMToiLCBjdl9qdWdhZG9yZXMxLCAiJVxuIikKY2F0KCJDb2VmaWNpZW50ZSBkZSB2YXJpYWNpw7NuIHBhcmEganVnYWRvcmVzMjoiLCBjdl9qdWdhZG9yZXMyLCAiJVxuIikKYGBgCgojIEVzdGFuZGFyaXphY2nDs24gCgpgYGB7cn0KIyBlc3RhbmRhcml6YXIgdW5hIHNvbGEgY29sdW1uYSAodmFyaWFibGUpLCBwb3IgZWplbXBsbyBqdWdhZG9yZXMgMQpzdGFuZF9qdWdhZG9yZXMxIDwtIChlcXVpcG9zJGp1Z2Fkb3JlczEgLSBtZWFuKGVxdWlwb3MkanVnYWRvcmVzMSkpIC8gc2QoZXF1aXBvcyRqdWdhZG9yZXMxKQpzdGFuZF9qdWdhZG9yZXMxCnN0YW5kX2p1Z2Fkb3JlczIgPC0gKGVxdWlwb3MkanVnYWRvcmVzMiAtIG1lYW4oZXF1aXBvcyRqdWdhZG9yZXMyKSkgLyBzZChlcXVpcG9zJGp1Z2Fkb3JlczIpCnN0YW5kX2p1Z2Fkb3JlczIKCmBgYAoKYGBge3J9CmVxdWlwb3M8LSBjYmluZChlcXVpcG9zLCBzdGFuZF9qdWdhZG9yZXMxLHN0YW5kX2p1Z2Fkb3JlczIpCmVxdWlwb3MKYGBgCgojIE5vcm1hbGl6YWNpw7NuIAoKYGBge3J9CiMgZGVmaW5pciBsYSBmdW5jaW9uIGRlIG5vcm1hbGl6YWNpb24KbWluX21heF9ub3JtIDwtIGZ1bmN0aW9uKHgpIHsoeC1taW4oeCkpLyhtYXgoeCktbWluKHgpKX0KYGBgCgpgYGB7cn0Kbm9ybV9lcXVpcG9zPC0gYXMuZGF0YS5mcmFtZShsYXBwbHkoZXF1aXBvc1sxOjJdLCBtaW5fbWF4X25vcm0pKQpub3JtX2VxdWlwb3MKYGBgCgpgYGB7cn0KZXF1aXBvcyA8LWNiaW5kKGVxdWlwb3MsIG5vcm1fZXF1aXBvcykKZXF1aXBvcwpgYGAKCg==