Identificar datos de población y muestra.
Se cargan datos de un archivo que representa una población de jugadores de fútbol a nivel mundial y se extraen muestras que permiten observar algunos estadísticos. Las variables de interés son nacionalidad, edad, altura y peso.
La población contiene datos de futbolistas registrados en FIFA. Aquí se hace hincapié en que tal vez no sean todos los futbolistas profesionales, es una lista que se encuentra en portales abiertos con archivos descargables, de manera especiíica el archivo original se encuentra en la direción url siguiente: <https://www.kaggle.com/stefanoleone992/fifa-20-complete-player-dataset?select=players_20.csv>
A partir de la población se construyen varias muestras utilizando la función sample().
library(readr)
En una variable llamada poblacion, se carga un conjunto de datos con distintas variables o columnas.
poblacion <- read.csv("https://raw.githubusercontent.com/rpizarrog/Probabilidad-y-EstadIstica-VIRTUAL-DISTANCIA/main/datos/players_20.csv", encoding = "UTF-8", stringsAsFactors = TRUE)
La población es un conjunto de datos que contiene 18278 observaciones o registros y 104 variables o columnas.
Las variables de interés para este caso serán: nombre, nacionalidad, edad, estatura y peso (‘short_name’, ‘nationality’, ‘age’, ‘height_cm’, ‘weight_kg’).
De la población se extraen únicamente las columnas de interés usando la notación [‘nombre columna 1’, ‘nombre de columna 2’, ‘nombre de columna n’].
La variable en donde se vuelve a dejar el extracto de los datos de población únicamente cn las columnas elegidas, es nuevamente poblacion, es decir se actualiza y se sobreescribe la variable.
Con el argumento la expresión [,c(‘short_name’, ‘nationality’, ‘age’, ‘height_cm’, ‘weight_kg’)], se extraen todas las observaciones o registros con las columnas indicadas de poblacion.
poblacion <- poblacion[,c('short_name', 'nationality', 'age', 'height_cm', 'weight_kg')]
Con la función colnames(poblacion) se modifica a español los nombres de columnas
colnames(poblacion) <- c('nombre', 'nacion', 'edad', 'estatura', 'peso')
Con la función head(poblacion, 20) indicándole 20 se presentan los primeros 20 registros
head(poblacion,20)
## nombre nacion edad estatura peso
## 1 L. Messi Argentina 32 170 72
## 2 Cristiano Ronaldo Portugal 34 187 83
## 3 Neymar Jr Brazil 27 175 68
## 4 J. Oblak Slovenia 26 188 87
## 5 E. Hazard Belgium 28 175 74
## 6 K. De Bruyne Belgium 28 181 70
## 7 M. ter Stegen Germany 27 187 85
## 8 V. van Dijk Netherlands 27 193 92
## 9 L. Modric Croatia 33 172 66
## 10 M. Salah Egypt 27 175 71
## 11 K. Mbappé France 20 178 73
## 12 K. Koulibaly Senegal 28 187 89
## 13 H. Kane England 25 188 89
## 14 Alisson Brazil 26 191 91
## 15 De Gea Spain 28 192 82
## 16 N. Kanté France 28 168 72
## 17 G. Chiellini Italy 34 187 85
## 18 S. Agüero Argentina 31 173 70
## 19 Sergio Ramos Spain 33 184 82
## 20 L. Suárez Uruguay 32 182 86
Con la función tail(poblacion, 20) indicándole 20 se presentan los últimos 20 registros
tail(poblacion,20)
## nombre nacion edad estatura peso
## 18259 L. Collins Wales 18 178 67
## 18260 H. Sveijer Sweden 17 185 71
## 18261 A. De Angelis Italy 21 174 62
## 18262 H. Shirai Japan 19 170 60
## 18263 S. Callan Republic of Ireland 19 182 80
## 18264 F. Nevarez Mexico 18 178 69
## 18265 Zhang Yufeng China PR 21 178 76
## 18266 L. Offord England 19 170 66
## 18267 Wang Peng China PR 21 175 70
## 18268 J. Ryan Republic of Ireland 19 178 75
## 18269 M. Gallagher Republic of Ireland 18 178 70
## 18270 Huang Jiahui China PR 18 183 74
## 18271 M. Sagaf England 21 177 70
## 18272 E. Tweed Republic of Ireland 20 180 72
## 18273 P. Martin Republic of Ireland 20 188 84
## 18274 Shao Shuai China PR 22 186 79
## 18275 Xiao Mingjie China PR 22 177 66
## 18276 Zhang Wei China PR 19 186 75
## 18277 Wang Haijian China PR 18 185 74
## 18278 Pan Ximing China PR 26 182 78
Con la función str() se identifica el tipo de datos, la cantidad de registros y columnas que tienen la población.
Ahora la población tiene le mismo número de registros pero con 5 variables de estudio en lugar de las 50 iniciales.
str(poblacion)
## 'data.frame': 18278 obs. of 5 variables:
## $ nombre : Factor w/ 17354 levels "<U+FFFD>. Blanaru","<U+FFFD>. Fara",..: 9773 3210 12708 7904 4505 8745 11813 16600 9783 11649 ...
## $ nacion : Factor w/ 162 levels "Afghanistan",..: 6 122 19 135 13 13 58 109 35 44 ...
## $ edad : int 32 34 27 26 28 28 27 27 33 27 ...
## $ estatura: int 170 187 175 188 175 181 187 193 172 175 ...
## $ peso : int 72 83 68 87 74 70 85 92 66 71 ...
Con la función summary() se encuentran los parámetros de la población.
Las medidas que genera summary() para datos numéricos o cuantitativos son la media, mediana, valores máximos y mínimos, cuartiles al 25%, 50% y 75% que serán medidas que se estudiarán por separado en siguientes casos.
Con datos cualitativos categóricos o denotados como factores en R, se identifican la cantidad de ocasiones que hay de cada uno, es decir la frecuencia. De igual forma la función identifica si existen datos como NA que se interpreta como datos vacíos.
summary(poblacion)
## nombre nacion edad estatura
## J. Rodríguez: 11 England : 1667 Min. :16.00 Min. :156.0
## Paulinho : 9 Germany : 1216 1st Qu.:22.00 1st Qu.:177.0
## J. García : 8 Spain : 1035 Median :25.00 Median :181.0
## J. Hernández: 7 France : 984 Mean :25.28 Mean :181.4
## J. Williams : 7 Argentina: 886 3rd Qu.:29.00 3rd Qu.:186.0
## J. Clarke : 6 Brazil : 824 Max. :42.00 Max. :205.0
## (Other) :18230 (Other) :11666
## peso
## Min. : 50.00
## 1st Qu.: 70.00
## Median : 75.00
## Mean : 75.28
## 3rd Qu.: 80.00
## Max. :110.00
##
Se identifica como \(N\) como el total de registros de la población y se obtiene mediante la función nrow().
N <- nrow(poblacion)
N
## [1] 18278
Se extra con la función sample() una muestra de la población digamos el \(10\% \text{ de 18278 equivale a }1828 \ registros\)
Se identifica a \(n\) como la cantidad de registros de la muestra.
Con la función round() se redondea a valor entero el resultado de sacar el 10% de \(N\)
n <- round(N * 0.10)
n
## [1] 1828
Ahora se determina una muestra de los datos con la función sample(), con los parámetro adecuados se le dice que a partir de población se deben extraer \(n\) registros y que no se repitan, es decir que sean diferentes.
La variable de interés es edad por lo que la muestra es un vector numérico
muestra1 <- sample(x = poblacion$edad, size = n, replace = FALSE)
str(muestra1)
## int [1:1828] 23 33 27 18 26 25 21 18 18 31 ...
summary(muestra1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17.00 21.00 25.00 25.19 28.00 41.00
media1 <- round(summary(muestra1)[4],2)
media1
## Mean
## 25.19
Se extra con la función sample() una muestra de la población digamos el \(20\% \text{ de 18278 equivale a }3656\ registros\).
n <- round(N * 0.20)
n
## [1] 3656
Se determina otra muestra de los datos con la función sample(), el nombre ahora es muestra2.
muestra2 <- sample(x = poblacion$edad, size = n, replace = FALSE)
str(muestra2)
## int [1:3656] 20 22 29 27 23 19 33 29 32 19 ...
summary(muestra2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.00 22.00 25.00 25.27 29.00 40.00
media2 <- round(summary(muestra2)[4],2)
media2
## Mean
## 25.27
Se extra con la función sample() una muestra de la población digamos el \(30\% \text{ de 18278 equivale a }5483 \ registros\)
Se determina otra tercera muestra de los datos con la función sample(), el nombre ahora es muestra3.
n <- round(N * 0.30)
n
## [1] 5483
Se determina otra muestra de los datos con la función sample(), el nombre ahora es muestra3
muestra3 <- sample(x = poblacion$edad, size = n, replace = FALSE)
str(muestra3)
## int [1:5483] 22 25 25 32 27 29 30 25 27 25 ...
summary(muestra3)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.00 22.00 25.00 25.35 29.00 40.00
media3 <- round(summary(muestra3)[4],2)
media3
## Mean
## 25.35
A partir de la población de jugadores de FIFA 15 a FIFA 20 con 18278 datos (considerando 5 variables), se han obtenido tres muestras. Las muestras contienen 1828, 3656 y 5483 registros respectivamente.
Se ha calculado la media aritmética para las tres muestras, enfocandose en la variable “edad”. La primera muestra genera una media de 25.19 años, la segunda muestra de 25.27. y para la tercera muestra de 25.35
Se puede observar que los estadísticos obtenidos son similares entre si y podría considerarse que la media poblacional debe tener un valor similar. Lo anterior se ha verificado al calcularla y obtener un valor de \(\text{media de muestra} \approx \text{media poblacion}\)