Integrantes:
R es un lenguaje de programación muy utilizado para análisis de datos y estadística gracias a su versatilidad. La razón principal de esto es la gran cantidad de funciones, módulos y librerías que tiene, las cuales permiten completar una amplia gama de tareas analíticas.
R ya incluye un conjunto fundamental de funciones estadísticas para realizar cálculos, generar visualizaciones y manipular datos. Las funciones básicas para calcular medias, desviaciones estándar, generar números aleatorios y graficar distribuciones de probabilidad son algunas de las más importantes.
Sin embargo, la instalación de paquetes especializados según la
necesidad maximiza el verdadero potencial de R. Por ejemplo, paquetes
populares como caret para modelos de aprendizaje automático,
ggplot2para visualización y dplyr para
manipulación de datos. Además, hay paquetes para requisitos específicos,
como fechas (lubridate), texto (stringr),
lectura/escritura de archivos (readr) y así
sucesivamente.
En resumen, R tiene una amplia gama de funciones, módulos y librerías que le permiten realizar una amplia gama de tareas de análisis de datos y estadística. Algunos de los más utilizados son:
Funciones básicas: R viene con un conjunto de funciones básicas para manipular datos, realizar cálculos, generar gráficos, etc. Algunos ejemplos son: mean(), sum(), sqrt(), plot(), hist(), print(), etc.
ggplot2 es una librería popular para la creación y visualización de gráficos. Es fácil crear gráficos complejos de alta calidad. ggplot(), geom_point(), geom_line(), theme() y otras funciones son algunas de las funciones clave.
dplyr es una librería para manipular y transformar datos enmarcados. Tiene funciones como seleccionar, filtrar, cambiar, grupo_por, resumir y otras.
tidyr: ayuda en el formato de los datos al complementar dplyr. Reunir, esparcir, separar, unir y otras funciones
stringr: Las funcion stringr se pueden usar para trabajar con cadenas de texto o strings. tales como str_detect(), str_replace(), str_trim(), str_split() y así sucesivamente.
Lubridate: para trabajar con fechas y horas. Posee funciones como ymd(), mdy(), dmy(), hora, minuto, mes y año, entre otras.
readr: lee y escribe archivos CSV y otros formatos rápidamente. escribir_csv(), leer_tsv(), leer_csv(), etc.
purrr: funciones de trabajo de forma iterativa y funcional sobre vectores y listas. map(), map_dfr(), reduce(), walk(), etc.
En R, una estructura de datos tabular, similar a una tabla en una
base de datos o una hoja de calculo, se denomina DataFrame. Puede
contener filas y columnas, cada una de las cuales tiene un tipo
diferente, como numérico, caracter, factor, etc. Los DataFrames son
estructuras de datos tabulares utilizadas para el analisis de datos en R
que son similares a las tablas de bases de datos o las hojas de cálculo.
Permite la manipulación y el almacenamiento de conjuntos de datos que
incluyen una variedad de tipos de variables. Dependiendo del formato de
los datos, puede crear un DataFrame en R utilizando la función
data.frame() o funciones como read.csv(),
read.table(), read.xlsx(), entre otras.
# Ejemplo de un Data Frame
datos <- data.frame(
ID = 1:5,
Nombre = c("Jose", "Nohemy", "George", "Ana", "Matteo"),
Edad = c(17, 19, 18, 20, 18),
Puntaje = c(15, 15, 18, 13, 19)
)
print(datos)
## ID Nombre Edad Puntaje
## 1 1 Jose 17 15
## 2 2 Nohemy 19 15
## 3 3 George 18 18
## 4 4 Ana 20 13
## 5 5 Matteo 18 19
La manipulación de datos en R es fácil de entender y fácil de usar. Algunas operaciones típicas son:
Seleccionar y ordenar filas/columnas según criterios usando
corchetes \[ \], la función
subset(), u order().
Filtrar observaciones basadas en condiciones específicas.
Agregar o eliminar columnas y cambiar valores con
mutate().
Resumir estadísticas por grupos utilizando funciones como
aggregate() o group_by() de
dplyr.
Unir DataFrames tanto por filas como por columnas mediante
rbind() o cbind(), entre otras
funciones.
R ofrece una amplia gama de herramientas que le permiten manipular o modificar DataFrames de una variedad de maneras. La manipulación efectiva de grandes conjuntos de datos es fundamental como paso previo para su posterior análisis estadístico.
El análisis de datos en R incluye la importación de datos, la limpieza, la exploración, la visualización y el modelado. El análisis de datos en R comienza con una serie de pasos después de importar o cargar las bases de datos en DataFrames: exploración inicial, limpieza, análisis descriptivo, visualización de datos, modelado estadístico/ML, pruebas estadísticas y comunicación de los resultados. Todo esto es posible gracias a la amplia gama de funciones especializadas, paquetes que existen.
R es, por lo tanto, una plataforma completa, sólida y flexible para el tratamiento analítico de datos completo. En áreas académicas, científicas y comerciales, es muy valorado por su amplia gama de usos, facilidad de uso y habilidades.
El análisis de datos consiste en una serie de pasos que permiten convertir datos sin procesar en información valiosa para la toma de decisiones. Las entradas y salidas de datos (_inputs y outputs_) se muestran con frecuencia en diagramas de flujo de datos o DFD, donde se utilizan formas como rectángulos, triángulos, círculos y flechas. El flujo típico es:
Recopilación de datos desde las distintas fuentes de datos disponibles, como bases de datos, archivos, APIs, etc. Contar con datos de alta calidad, completos y actualizados es importante.
Los datos se preparan y limpian para eliminar errores, valores faltantes, duplicados e inconsistencias. Los datos que se utilizarán en el análisis son los únicos que se mantienen.
Procesamiento y análisis de datos limpios para entrenar modelos predictivos mediante técnicas estadísticas, algoritmos de aprendizaje automático e inteligencia artificial, entre otras técnicas.
Mostrar los resultados del análisis en formatos fáciles de entender, como tablas y gráficos. Los resultados técnicos se traducen a insights de negocio.
La comunicación y visualización interactiva de los resultados ayuda a los diferentes miembros de la organización a tomar decisiones.
Los datos procesados, modelos y resultados se almacenarán en data warehouses, lakes, etc. para su posterior uso bajo las normas de privacidad y seguridad correspondientes.
R brinda una gran flexibilidad para importar datos a dataframes desde una variedad de fuentes y formatos de archivo, lo que facilita su análisis y manipulación posterior. Describiré con más detalle algunas de las opciones para los tipos de archivo más comunes:
# ejemplo
#datos_csv <- read.csv("ejemploCSV.csv")
# ejemplo
# library(readxl) ## En el caso de no tener la libreria lo descargas (install.packages("readxl"))
# datos_excel <- read_excel("ejemploXLSX.xlsx")
# ejemplo
# library(jsonlite) ## En el caso de no tener la libreria lo descargas (install.packages("jsonlite"))
# datos_json <- fromJSON("ejemploJSON.json")
# ejemplo
# datos_txt <- readLines("ejemploTXT.txt")
El manejo de datos faltantes es esencial en estadística para garantizar la precisión de los análisis.
# Ejemplo datos
datos <- data.frame(
ID = 1:5,
Nombre = c("Jose", "Nohemy", "George", "Ana", "Matteo"),
Edad = c(17, 19, 18, 20, 18),
Puntaje = c(NA, 15, 18, 13, NA)
)
# Mostrar los datos
print("Datos originales:")
## [1] "Datos originales:"
print(datos)
## ID Nombre Edad Puntaje
## 1 1 Jose 17 NA
## 2 2 Nohemy 19 15
## 3 3 George 18 18
## 4 4 Ana 20 13
## 5 5 Matteo 18 NA
# Verificar qué filas tienen valores faltantes en la columna de Puntaje
filas_con_nulos <- which(is.na(datos$Puntaje))
print("Filas con valores faltantes:")
## [1] "Filas con valores faltantes:"
print(filas_con_nulos)
## [1] 1 5
# Imputación con la media
media_ingresos <- mean(datos$Puntaje, na.rm = TRUE)
datos$Puntaje[is.na(datos$Puntaje)] <- media_ingresos
# Mostrar los datos actualizados después de la imputación con la media
print("Datos con imputación de valores faltantes:")
## [1] "Datos con imputación de valores faltantes:"
print(datos)
## ID Nombre Edad Puntaje
## 1 1 Jose 17 15.33333
## 2 2 Nohemy 19 15.00000
## 3 3 George 18 18.00000
## 4 4 Ana 20 13.00000
## 5 5 Matteo 18 15.33333
# Ejemplo datos
datos <- data.frame(
ID = 1:5,
Nombre = c("Jose", "Nohemy", "George", "Ana", "Matteo"),
Edad = c(17, 19, 18, 20, 18),
Puntaje = c(NA, 15, 18, 13, NA)
)
# Mostrar los datos
print("Datos originales:")
## [1] "Datos originales:"
print(datos)
## ID Nombre Edad Puntaje
## 1 1 Jose 17 NA
## 2 2 Nohemy 19 15
## 3 3 George 18 18
## 4 4 Ana 20 13
## 5 5 Matteo 18 NA
# Eliminar filas con valores faltantes en la columna de puntaje
datos_sin_nulos <- datos[complete.cases(datos$Puntaje), ]
# Mostrar los datos después de eliminar filas con valores faltantes
print("Datos después de eliminar filas con valores faltantes:")
## [1] "Datos después de eliminar filas con valores faltantes:"
print(datos_sin_nulos)
## ID Nombre Edad Puntaje
## 2 2 Nohemy 19 15
## 3 3 George 18 18
## 4 4 Ana 20 13
En R, puedes usar funciones específicas para identificar y manejar outliers. Un outlieres una observación anormal y excepcional en una muestra estadística o serie temporal de datos que puede afectar la estimación de los parámetros de la muestra.
# Datos de ingresos mensuales de un grupo de familias de distintas comunidades (Ejemplo aleatorio con datos falsos)
datos <- c(3944, 4130, 4075, 4182, 4224, 4190, 4053, 4028, 4188, 4211, 4165, 4046, 4286, 4094, 4170, 4072, 4244, 4177, 4292, 4030, 4015, 4107, 4163, 4085, 4209, 4061, 4057, 4036, 4167, 4215, 4105, 4033, 4253, 4029, 4169, 4155, 4106, 4088, 4268, 4160, 4184, 4139, 4146, 4117, 4238, 4096, 4173, 4150, 4166, 4104, 8206, 8469, 12371, 11168, 19628, 8434, 12539, 11056, 16478, 10558, 19588, 12677, 8316, 11843, 15433, 13724, 15724, 14732, 12248, 16714, 13294)
# Calcular el primer y tercer cuartil (Q1 y Q3)
Q1 <- quantile(datos, 0.25)
Q3 <- quantile(datos, 0.75)
# Calcular el rango intercuartílico (IQR)
IQR_valor <- IQR(datos)
# Calcular límites para identificar outliers
limite_inferior <- Q1 - 1.5 * IQR_valor
limite_superior <- Q3 + 1.5 * IQR_valor
# Identificar outliers
outliers <- datos[datos < limite_inferior | datos > limite_superior]
# Crear un boxplot
boxplot(datos, main="Boxplot de Ingresos Mensuales")
La preparación de datos, también conocida como preprocesamiento, implica la realización de una serie de tareas para limpiar, transformar y enriquecer los datos en bruto antes de que puedan ser utilizados en un proceso analítico.
Incluye pasos como la validación inicial de la calidad de los datos de varias fuentes y la identificación y corrección de problemas como valores faltantes, outliers, duplicados e inconsistencias que podrían afectar los análisis posteriores.
pasos:
# Cargar los datos
ruta_archivo <- "C:/Users/Usuario/Documents/netflix_titles.csv"
datos <- read.csv(ruta_archivo)
# Visualizar las primeras filas de los datos
head(datos)
## show_id
## 1 s1,Movie,Dick Johnson Is Dead,Kirsten Johnson,,United States,"September 25, 2021",2020,PG-13,90 min,Documentaries,"As her father nears the end of his life, filmmaker Kirsten Johnson stages his death in inventive and comical ways to help them both face the inevitable.";;
## 2 s2,TV Show,Blood & Water,,"Ama Qamata, Khosi Ngema, Gail Mabalane, Thabang Molaba, Dillon Windvogel, Natasha Thahane, Arno Greeff, Xolile Tshabalala, Getmore Sithole, Cindy Mahlangu, Ryle De Morny, Greteli Fincham, Sello Maake Ka-Ncube, Odwa Gwanya, Mekaila Mathys, Sandi Schultz, Duane Williams, Shamilla Miller, Patrick Mofokeng",South Africa,"September 24, 2021",2021,TV-MA,2 Seasons,"International TV Shows, TV Dramas, TV Mysteries","After crossing paths at a party, a Cape Town teen sets out to prove whether a private-school swimming star is her sister who was abducted at birth.";;
## 3 s3,TV Show,Ganglands,Julien Leclercq,"Sami Bouajila, Tracy Gotoas, Samuel Jouy, Nabiha Akkari, Sofia Lesaffre, Salim Kechiouche, Noureddine Farihi, Geert Van Rampelberg, Bakary Diombera",,"September 24, 2021",2021,TV-MA,1 Season,"Crime TV Shows, International TV Shows, TV Action & Adventure","To protect his family from a powerful drug lord, skilled thief Mehdi and his expert team of robbers are pulled into a violent and deadly turf war.";;
## 4 s4,TV Show,Jailbirds New Orleans,,,,"September 24, 2021",2021,TV-MA,1 Season,"Docuseries, Reality TV","Feuds, flirtations and toilet talk go down among the incarcerated women at the Orleans Justice Center in New Orleans on this gritty reality series.";;
## 5 s5,TV Show,Kota Factory,,"Mayur More, Jitendra Kumar, Ranjan Raj, Alam Khan, Ahsaas Channa, Revathi Pillai, Urvi Singh, Arun Kumar",India,"September 24, 2021",2021,TV-MA,2 Seasons,"International TV Shows, Romantic TV Shows, TV Comedies","In a city of coaching centers known to train India’s finest collegiate minds, an earnest but unexceptional student and his friends navigate campus life.";;
## 6 s6,TV Show,Midnight Mass,Mike Flanagan,"Kate Siegel, Zach Gilford, Hamish Linklater, Henry Thomas, Kristin Lehman, Samantha Sloyan, Igby Rigney, Rahul Kohli, Annarah Cymone, Annabeth Gish, Alex Essoe, Rahul Abburi, Matt Biedel, Michael Trucco, Crystal Balint, Louis Oliver",,"September 24, 2021",2021,TV-MA,1 Season,"TV Dramas, TV Horror, TV Mysteries","The arrival of a charismatic young priest brings glorious miracles, ominous mysteries and renewed religious fervor to a dying town desperate to believe.";;
## type title director cast country date_added release_year rating duration
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## listed_in description..
## 1
## 2
## 3
## 4
## 5
## 6
# Resumen estadístico básico
summary(datos)
## show_id type title director
## Length:8809 Length:8809 Length:8809 Mode:logical
## Class :character Class :character Class :character NA's:8809
## Mode :character Mode :character Mode :character
##
##
##
##
## cast country date_added release_year
## Length:8809 Length:8809 Mode:logical Min. :2018
## Class :character Class :character NA's:8809 1st Qu.:2018
## Mode :character Mode :character Median :2018
## Mean :2018
## 3rd Qu.:2018
## Max. :2018
## NA's :8808
## rating duration listed_in description..
## Length:8809 Length:8809 Length:8809 Length:8809
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
# Verificar dimensiones del conjunto de datos
dim(datos)
## [1] 8809 12
# Visualizar la estructura de los datos
str(datos)
## 'data.frame': 8809 obs. of 12 variables:
## $ show_id : chr "s1,Movie,Dick Johnson Is Dead,Kirsten Johnson,,United States,\"September 25, 2021\",2020,PG-13,90 min,Documenta"| __truncated__ "s2,TV Show,Blood & Water,,\"Ama Qamata, Khosi Ngema, Gail Mabalane, Thabang Molaba, Dillon Windvogel, Natasha T"| __truncated__ "s3,TV Show,Ganglands,Julien Leclercq,\"Sami Bouajila, Tracy Gotoas, Samuel Jouy, Nabiha Akkari, Sofia Lesaffre,"| __truncated__ "s4,TV Show,Jailbirds New Orleans,,,,\"September 24, 2021\",2021,TV-MA,1 Season,\"Docuseries, Reality TV\",\"Feu"| __truncated__ ...
## $ type : chr "" "" "" "" ...
## $ title : chr "" "" "" "" ...
## $ director : logi NA NA NA NA NA NA ...
## $ cast : chr "" "" "" "" ...
## $ country : chr "" "" "" "" ...
## $ date_added : logi NA NA NA NA NA NA ...
## $ release_year : int NA NA NA NA NA NA NA NA NA NA ...
## $ rating : chr "" "" "" "" ...
## $ duration : chr "" "" "" "" ...
## $ listed_in : chr "" "" "" "" ...
## $ description..: chr "" "" "" "" ...
# Ejemplos de limpieza.
# Verificar y tratar valores faltantes
colSums(is.na(datos))
## show_id type title director cast
## 0 0 0 8809 0
## country date_added release_year rating duration
## 0 8809 8808 0 0
## listed_in description..
## 0 0
datos <- na.omit(datos) # Eliminar filas con valores faltantes
# Eliminar duplicados si los hay
datos <- unique(datos)
Para garantizar la calidad de los análisis posteriores y obtener insights valiosos, es esencial preparar los datos. Es necesario tomar los datos en su forma original y luego procesarlos para dotarlos de la estructura, contenido y características ideales.
Algunos ejemplos de tareas de transformación son:
Examinar los datos crudos recién obtenidos para determinar si se requiere alguna transformación.
Aplicar modificaciones, como convertir valores de fecha, cambiar la orientación de largo a largo y viceversa, crear variables o columnas derivadas.
Enriquecer el dataset agregando nuevos atributos y métricas de interés
Filtrar y almacenar los datos que se utilizarán para análisis específicos posteriores.
Importamos un archivo
# Cargar los datos
ruta_archivo <- "C:/Users/Usuario/Documents/fifa_players.csv"
datos <- read.csv(ruta_archivo)
# Histograma de la variable "age"
hist(datos$age, col = "skyblue", main = "Histograma - age")
# Boxplot de la variable "potential"
boxplot(datos$potential, col = "red", main = "Boxplot - potential")
# Crear intervalos
intervals <- cut(datos$overall_rating, breaks = seq(0, 100, by = 10))
# Gráfico de barras
barplot(table(intervals), col = "blue", main = "Gráfico de Barras - overall_rating")
# Scatterplot de "overall_rating" vs "potential"
plot(datos$overall_rating, datos$potential, col = "blue", xlab = "Overall Rating", ylab = "Potential", main = "Scatterplot - Overall Rating vs Potential")
library(ggplot2)
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.2
# Calcular la matriz de correlación
correlation_matrix <- cor(datos[, sapply(datos, is.numeric)])
# Reorganizar la matriz para tener las etiquetas en orden
ordered_matrix <- correlation_matrix[order(row.names(correlation_matrix)), order(colnames(correlation_matrix))]
# Mostrar la matriz de correlación
print(correlation_matrix)
## age height_cm weight_kgs
## age 1.00000000 0.059579475 0.233819426
## height_cm 0.05957947 1.000000000 0.495320359
## weight_kgs 0.23381943 0.495320359 1.000000000
## overall_rating 0.46152922 0.038079873 0.150520928
## potential -0.25957857 0.008525838 -0.015098950
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.25997687 0.026849783 0.085085600
## weak_foot.1.5. 0.06110803 -0.130463702 -0.128875336
## skill_moves.1.5. 0.02968110 -0.320140714 -0.353601120
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing 0.13335725 -0.388804511 -0.394145351
## finishing 0.07476055 -0.296793996 -0.294710244
## heading_accuracy 0.15172315 -0.043058013 0.027697604
## short_passing 0.13715078 -0.290321276 -0.291826210
## volleys 0.14775211 -0.279701660 -0.263662471
## dribbling 0.01633362 -0.382180531 -0.414171729
## curve 0.14762754 -0.345927472 -0.347161017
## freekick_accuracy 0.19600330 -0.316407282 -0.305299273
## long_passing 0.18501807 -0.262812586 -0.260839826
## ball_control 0.09155228 -0.328643104 -0.339170217
## acceleration -0.15166450 -0.406415045 -0.481583486
## sprint_speed -0.14426512 -0.350073549 -0.413237762
## agility -0.01317678 -0.438373386 -0.533049744
## reactions 0.46342071 -0.019999998 0.082796362
## balance -0.08360953 -0.532395628 -0.663188478
## shot_power 0.15887458 -0.239960476 -0.198427897
## jumping 0.18381587 -0.052169438 0.005740647
## stamina 0.10380388 -0.254793990 -0.232554343
## strength 0.33967131 0.318769066 0.610431185
## long_shots 0.16465481 -0.305601295 -0.278551905
## aggression 0.26485867 -0.073996001 0.021925516
## interceptions 0.19813066 -0.078730189 -0.034607195
## positioning 0.08551035 -0.353379728 -0.355280550
## vision 0.19320089 -0.287253978 -0.282234466
## penalties 0.14792392 -0.272134269 -0.251452632
## composure 0.39471684 -0.111849252 -0.044537978
## marking 0.14672473 -0.089783206 -0.057559333
## standing_tackle 0.11836161 -0.081452370 -0.056317990
## sliding_tackle 0.10300828 -0.086092580 -0.065964991
## overall_rating potential value_euro wage_euro
## age 0.46152922 -0.259578566 NA NA
## height_cm 0.03807987 0.008525838 NA NA
## weight_kgs 0.15052093 -0.015098950 NA NA
## overall_rating 1.00000000 0.647249240 NA NA
## potential 0.64724924 1.000000000 NA NA
## value_euro NA NA 1 NA
## wage_euro NA NA NA 1
## international_reputation.1.5. 0.48941597 0.358874371 NA NA
## weak_foot.1.5. 0.21639350 0.167735495 NA NA
## skill_moves.1.5. 0.41871802 0.356241084 NA NA
## release_clause_euro NA NA NA NA
## national_rating NA NA NA NA
## national_jersey_number NA NA NA NA
## crossing 0.39834317 0.244438236 NA NA
## finishing 0.34233114 0.247552068 NA NA
## heading_accuracy 0.34767032 0.204058724 NA NA
## short_passing 0.50681904 0.368105526 NA NA
## volleys 0.39692210 0.255953677 NA NA
## dribbling 0.37871796 0.315429352 NA NA
## curve 0.42389039 0.278243214 NA NA
## freekick_accuracy 0.40087831 0.230355260 NA NA
## long_passing 0.48999766 0.322550167 NA NA
## ball_control 0.46433631 0.350661625 NA NA
## acceleration 0.20485306 0.239457057 NA NA
## sprint_speed 0.21844262 0.241553385 NA NA
## agility 0.27526028 0.225621322 NA NA
## reactions 0.85576710 0.505011408 NA NA
## balance 0.11466715 0.143428690 NA NA
## shot_power 0.44530642 0.289157440 NA NA
## jumping 0.27100765 0.106848778 NA NA
## stamina 0.36874881 0.199151061 NA NA
## strength 0.36072517 0.077917556 NA NA
## long_shots 0.42945805 0.265325625 NA NA
## aggression 0.39707198 0.170004854 NA NA
## interceptions 0.32203032 0.151945768 NA NA
## positioning 0.36211586 0.247677279 NA NA
## vision 0.50681180 0.348179423 NA NA
## penalties 0.35090157 0.226745611 NA NA
## composure 0.72927827 0.434113289 NA NA
## marking 0.29253832 0.162998794 NA NA
## standing_tackle 0.25448066 0.143926610 NA NA
## sliding_tackle 0.22546619 0.129754641 NA NA
## international_reputation.1.5. weak_foot.1.5.
## age 0.25997687 0.06110803
## height_cm 0.02684978 -0.13046370
## weight_kgs 0.08508560 -0.12887534
## overall_rating 0.48941597 0.21639350
## potential 0.35887437 0.16773550
## value_euro NA NA
## wage_euro NA NA
## international_reputation.1.5. 1.00000000 0.12623802
## weak_foot.1.5. 0.12623802 1.00000000
## skill_moves.1.5. 0.20566106 0.34528383
## release_clause_euro NA NA
## national_rating NA NA
## national_jersey_number NA NA
## crossing 0.19144330 0.31163871
## finishing 0.17978895 0.36966260
## heading_accuracy 0.15766224 0.19234650
## short_passing 0.23964762 0.32876561
## volleys 0.24422399 0.36528831
## dribbling 0.17751054 0.35881127
## curve 0.23364871 0.35036054
## freekick_accuracy 0.22509768 0.33357491
## long_passing 0.23866806 0.28441514
## ball_control 0.21532693 0.36185036
## acceleration 0.04440586 0.27120125
## sprint_speed 0.04440601 0.25930360
## agility 0.10200692 0.30774521
## reactions 0.43960828 0.20426802
## balance 0.05219309 0.25648653
## shot_power 0.22590780 0.34141986
## jumping 0.12265695 0.07149117
## stamina 0.09246669 0.24149049
## strength 0.13368951 -0.00360932
## long_shots 0.21429907 0.36559889
## aggression 0.17293078 0.13703500
## interceptions 0.12649989 0.05674358
## positioning 0.18255581 0.35532646
## vision 0.28389025 0.34368382
## penalties 0.22060838 0.33757258
## composure 0.38890622 0.28556032
## marking 0.11531806 0.06700224
## standing_tackle 0.08980893 0.04571589
## sliding_tackle 0.07726731 0.02784522
## skill_moves.1.5. release_clause_euro
## age 0.02968110 NA
## height_cm -0.32014071 NA
## weight_kgs -0.35360112 NA
## overall_rating 0.41871802 NA
## potential 0.35624108 NA
## value_euro NA NA
## wage_euro NA NA
## international_reputation.1.5. 0.20566106 NA
## weak_foot.1.5. 0.34528383 NA
## skill_moves.1.5. 1.00000000 NA
## release_clause_euro NA 1
## national_rating NA NA
## national_jersey_number NA NA
## crossing 0.74646640 NA
## finishing 0.74849229 NA
## heading_accuracy 0.45478345 NA
## short_passing 0.73554364 NA
## volleys 0.74922958 NA
## dribbling 0.84182734 NA
## curve 0.77566582 NA
## freekick_accuracy 0.70483242 NA
## long_passing 0.62929786 NA
## ball_control 0.82126837 NA
## acceleration 0.66058759 NA
## sprint_speed 0.63366261 NA
## agility 0.68756220 NA
## reactions 0.38537376 NA
## balance 0.58437059 NA
## shot_power 0.72374650 NA
## jumping 0.10995645 NA
## stamina 0.58297030 NA
## strength -0.03341497 NA
## long_shots 0.75705356 NA
## aggression 0.36034168 NA
## interceptions 0.22191238 NA
## positioning 0.78661749 NA
## vision 0.67608914 NA
## penalties 0.69588882 NA
## composure 0.59859513 NA
## marking 0.25560083 NA
## standing_tackle 0.22553172 NA
## sliding_tackle 0.19343774 NA
## national_rating national_jersey_number crossing
## age NA NA 0.1333573
## height_cm NA NA -0.3888045
## weight_kgs NA NA -0.3941454
## overall_rating NA NA 0.3983432
## potential NA NA 0.2444382
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. NA NA 0.1914433
## weak_foot.1.5. NA NA 0.3116387
## skill_moves.1.5. NA NA 0.7464664
## release_clause_euro NA NA NA
## national_rating 1 NA NA
## national_jersey_number NA 1 NA
## crossing NA NA 1.0000000
## finishing NA NA 0.6641826
## heading_accuracy NA NA 0.4840058
## short_passing NA NA 0.8124045
## volleys NA NA 0.6965110
## dribbling NA NA 0.8609119
## curve NA NA 0.8377860
## freekick_accuracy NA NA 0.7644982
## long_passing NA NA 0.7600857
## ball_control NA NA 0.8452110
## acceleration NA NA 0.6779973
## sprint_speed NA NA 0.6562626
## agility NA NA 0.7025163
## reactions NA NA 0.3975736
## balance NA NA 0.6252702
## shot_power NA NA 0.7139692
## jumping NA NA 0.1430833
## stamina NA NA 0.6858946
## strength NA NA -0.0195133
## long_shots NA NA 0.7492161
## aggression NA NA 0.4862775
## interceptions NA NA 0.4381643
## positioning NA NA 0.7914316
## vision NA NA 0.6878635
## penalties NA NA 0.6551658
## composure NA NA 0.5897258
## marking NA NA 0.4574006
## standing_tackle NA NA 0.4405777
## sliding_tackle NA NA 0.4224071
## finishing heading_accuracy short_passing
## age 0.0747605504 0.15172315 0.1371508
## height_cm -0.2967939961 -0.04305801 -0.2903213
## weight_kgs -0.2947102440 0.02769760 -0.2918262
## overall_rating 0.3423311424 0.34767032 0.5068190
## potential 0.2475520682 0.20405872 0.3681055
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.1797889469 0.15766224 0.2396476
## weak_foot.1.5. 0.3696626010 0.19234650 0.3287656
## skill_moves.1.5. 0.7484922901 0.45478345 0.7355436
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing 0.6641825951 0.48400582 0.8124045
## finishing 1.0000000000 0.48281325 0.6718370
## heading_accuracy 0.4828132465 1.00000000 0.6536214
## short_passing 0.6718369584 0.65362141 1.0000000
## volleys 0.8864689171 0.51625955 0.7050007
## dribbling 0.8277433090 0.56487810 0.8492649
## curve 0.7656688766 0.45339583 0.7794680
## freekick_accuracy 0.7048280938 0.42091877 0.7393378
## long_passing 0.5254918645 0.52724108 0.8987303
## ball_control 0.7945573616 0.66932993 0.9149221
## acceleration 0.6167960811 0.35517422 0.5820243
## sprint_speed 0.6033525903 0.40461454 0.5734883
## agility 0.6515510463 0.28176027 0.6217308
## reactions 0.3420252447 0.33754128 0.4916754
## balance 0.5327378012 0.18801036 0.5419388
## shot_power 0.8207395005 0.61751258 0.7797748
## jumping 0.1023853362 0.39003265 0.2103466
## stamina 0.5272931928 0.65035563 0.7304599
## strength -0.0006046457 0.49024873 0.1476784
## long_shots 0.8800804973 0.51668376 0.7691668
## aggression 0.2621417523 0.70535601 0.6221076
## interceptions -0.0039391545 0.55992557 0.5499498
## positioning 0.8900492682 0.54409651 0.7661451
## vision 0.7028651111 0.28600261 0.7154318
## penalties 0.8405040325 0.56213520 0.6847831
## composure 0.5505200056 0.52557791 0.7013409
## marking 0.0420580366 0.59314046 0.5701865
## standing_tackle -0.0134269403 0.57301458 0.5489071
## sliding_tackle -0.0514323589 0.54645721 0.5167613
## volleys dribbling curve
## age 0.14775211 0.01633362 0.14762754
## height_cm -0.27970166 -0.38218053 -0.34592747
## weight_kgs -0.26366247 -0.41417173 -0.34716102
## overall_rating 0.39692210 0.37871796 0.42389039
## potential 0.25595368 0.31542935 0.27824321
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.24422399 0.17751054 0.23364871
## weak_foot.1.5. 0.36528831 0.35881127 0.35036054
## skill_moves.1.5. 0.74922958 0.84182734 0.77566582
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing 0.69651102 0.86091186 0.83778599
## finishing 0.88646892 0.82774331 0.76566888
## heading_accuracy 0.51625955 0.56487810 0.45339583
## short_passing 0.70500073 0.84926489 0.77946797
## volleys 1.00000000 0.81211167 0.81077209
## dribbling 0.81211167 1.00000000 0.84613569
## curve 0.81077209 0.84613569 1.00000000
## freekick_accuracy 0.75415448 0.75718393 0.86205439
## long_passing 0.57913213 0.72987004 0.71635875
## ball_control 0.79905208 0.94155615 0.83378148
## acceleration 0.58269747 0.75934826 0.61681071
## sprint_speed 0.56833676 0.73848869 0.58924118
## agility 0.63103091 0.77008723 0.68640432
## reactions 0.40088751 0.37938656 0.42011253
## balance 0.52084928 0.66894019 0.59455209
## shot_power 0.83594065 0.80950236 0.79739940
## jumping 0.13219702 0.15288373 0.11595149
## stamina 0.54266566 0.70274760 0.60513060
## strength 0.04019628 -0.02139199 -0.02478189
## long_shots 0.87120133 0.84613562 0.83906793
## aggression 0.34428780 0.45966370 0.41168283
## interceptions 0.10106425 0.31219847 0.28405507
## positioning 0.85166103 0.90165604 0.81769468
## vision 0.70291947 0.73133090 0.74875462
## penalties 0.83426307 0.77329295 0.75682205
## composure 0.60704824 0.61382137 0.62864390
## marking 0.13556991 0.35333331 0.30379909
## standing_tackle 0.08776972 0.31957915 0.27425040
## sliding_tackle 0.05063970 0.29228908 0.24599100
## freekick_accuracy long_passing ball_control
## age 0.196003299 0.1850181 0.09155228
## height_cm -0.316407282 -0.2628126 -0.32864310
## weight_kgs -0.305299273 -0.2608398 -0.33917022
## overall_rating 0.400878312 0.4899977 0.46433631
## potential 0.230355260 0.3225502 0.35066162
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.225097679 0.2386681 0.21532693
## weak_foot.1.5. 0.333574910 0.2844151 0.36185036
## skill_moves.1.5. 0.704832423 0.6292979 0.82126837
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing 0.764498156 0.7600857 0.84521097
## finishing 0.704828094 0.5254919 0.79455736
## heading_accuracy 0.420918766 0.5272411 0.66932993
## short_passing 0.739337850 0.8987303 0.91492205
## volleys 0.754154485 0.5791321 0.79905208
## dribbling 0.757183926 0.7298700 0.94155615
## curve 0.862054392 0.7163587 0.83378148
## freekick_accuracy 1.000000000 0.7075056 0.76396485
## long_passing 0.707505569 1.0000000 0.79595861
## ball_control 0.763964852 0.7959586 1.00000000
## acceleration 0.507970193 0.4576578 0.68987616
## sprint_speed 0.478210858 0.4440151 0.67949276
## agility 0.594473617 0.5313295 0.71238704
## reactions 0.401976103 0.4711807 0.45203202
## balance 0.526996011 0.4700364 0.60901322
## shot_power 0.760652940 0.6826800 0.83557160
## jumping 0.086728246 0.1663727 0.20711008
## stamina 0.551780786 0.6490225 0.74320188
## strength -0.006810394 0.1287098 0.09928486
## long_shots 0.808451698 0.6784937 0.83984148
## aggression 0.405886791 0.5996368 0.56352917
## interceptions 0.303410596 0.6020281 0.42960858
## positioning 0.736088064 0.6259078 0.86949244
## vision 0.718613842 0.7016081 0.72066544
## penalties 0.740311853 0.5544386 0.77506448
## composure 0.595693243 0.6616507 0.69047311
## marking 0.310730809 0.5983769 0.46621358
## standing_tackle 0.289089370 0.5934644 0.43095903
## sliding_tackle 0.258011178 0.5685935 0.39856091
## acceleration sprint_speed agility reactions
## age -0.15166450 -0.14426512 -0.01317678 0.46342071
## height_cm -0.40641505 -0.35007355 -0.43837339 -0.02000000
## weight_kgs -0.48158349 -0.41323776 -0.53304974 0.08279636
## overall_rating 0.20485306 0.21844262 0.27526028 0.85576710
## potential 0.23945706 0.24155339 0.22562132 0.50501141
## value_euro NA NA NA NA
## wage_euro NA NA NA NA
## international_reputation.1.5. 0.04440586 0.04440601 0.10200692 0.43960828
## weak_foot.1.5. 0.27120125 0.25930360 0.30774521 0.20426802
## skill_moves.1.5. 0.66058759 0.63366261 0.68756220 0.38537376
## release_clause_euro NA NA NA NA
## national_rating NA NA NA NA
## national_jersey_number NA NA NA NA
## crossing 0.67799732 0.65626257 0.70251633 0.39757356
## finishing 0.61679608 0.60335259 0.65155105 0.34202524
## heading_accuracy 0.35517422 0.40461454 0.28176027 0.33754128
## short_passing 0.58202428 0.57348825 0.62173078 0.49167538
## volleys 0.58269747 0.56833676 0.63103091 0.40088751
## dribbling 0.75934826 0.73848869 0.77008723 0.37938656
## curve 0.61681071 0.58924118 0.68640432 0.42011253
## freekick_accuracy 0.50797019 0.47821086 0.59447362 0.40197610
## long_passing 0.45765783 0.44401514 0.53132951 0.47118069
## ball_control 0.68987616 0.67949276 0.71238704 0.45203202
## acceleration 1.00000000 0.92615050 0.81660282 0.20085136
## sprint_speed 0.92615050 1.00000000 0.77020047 0.20417015
## agility 0.81660282 0.77020047 1.00000000 0.28797619
## reactions 0.20085136 0.20417015 0.28797619 1.00000000
## balance 0.71648518 0.65156155 0.77470410 0.16185568
## shot_power 0.55302091 0.55728792 0.58435630 0.42601975
## jumping 0.22582062 0.24244733 0.22242869 0.26482195
## stamina 0.62698493 0.63940805 0.58561747 0.37937781
## strength -0.15336853 -0.06980217 -0.21986160 0.30096744
## long_shots 0.58940409 0.57124628 0.65162944 0.43224500
## aggression 0.27347353 0.30406484 0.25910140 0.41019741
## interceptions 0.17568418 0.18940555 0.15574687 0.34490321
## positioning 0.69457627 0.67787601 0.71505226 0.39355449
## vision 0.46950231 0.43860229 0.60115750 0.51213952
## penalties 0.54456389 0.53282682 0.57334112 0.35634492
## composure 0.36893191 0.37400932 0.45070741 0.69089393
## marking 0.21944821 0.23720147 0.18698461 0.29536045
## standing_tackle 0.18859012 0.20545134 0.14914548 0.26287910
## sliding_tackle 0.18191434 0.19855442 0.13596240 0.23599235
## balance shot_power jumping stamina
## age -0.08360953 0.1588746 0.183815869 0.10380388
## height_cm -0.53239563 -0.2399605 -0.052169438 -0.25479399
## weight_kgs -0.66318848 -0.1984279 0.005740647 -0.23255434
## overall_rating 0.11466715 0.4453064 0.271007648 0.36874881
## potential 0.14342869 0.2891574 0.106848778 0.19915106
## value_euro NA NA NA NA
## wage_euro NA NA NA NA
## international_reputation.1.5. 0.05219309 0.2259078 0.122656952 0.09246669
## weak_foot.1.5. 0.25648653 0.3414199 0.071491165 0.24149049
## skill_moves.1.5. 0.58437059 0.7237465 0.109956451 0.58297030
## release_clause_euro NA NA NA NA
## national_rating NA NA NA NA
## national_jersey_number NA NA NA NA
## crossing 0.62527025 0.7139692 0.143083334 0.68589463
## finishing 0.53273780 0.8207395 0.102385336 0.52729319
## heading_accuracy 0.18801036 0.6175126 0.390032646 0.65035563
## short_passing 0.54193880 0.7797748 0.210346580 0.73045987
## volleys 0.52084928 0.8359407 0.132197020 0.54266566
## dribbling 0.66894019 0.8095024 0.152883728 0.70274760
## curve 0.59455209 0.7973994 0.115951492 0.60513060
## freekick_accuracy 0.52699601 0.7606529 0.086728246 0.55178079
## long_passing 0.47003639 0.6826800 0.166372682 0.64902245
## ball_control 0.60901322 0.8355716 0.207110082 0.74320188
## acceleration 0.71648518 0.5530209 0.225820617 0.62698493
## sprint_speed 0.65156155 0.5572879 0.242447334 0.63940805
## agility 0.77470410 0.5843563 0.222428688 0.58561747
## reactions 0.16185568 0.4260197 0.264821950 0.37937781
## balance 1.00000000 0.4717666 0.197026987 0.49307640
## shot_power 0.47176663 1.0000000 0.191406394 0.62920168
## jumping 0.19702699 0.1914064 1.000000000 0.35703713
## stamina 0.49307640 0.6292017 0.357037133 1.00000000
## strength -0.37731026 0.1754114 0.294134874 0.26710013
## long_shots 0.54020194 0.8924523 0.142046149 0.61066238
## aggression 0.20206645 0.5035093 0.382314297 0.65998142
## interceptions 0.16735207 0.2761759 0.300375267 0.58878590
## positioning 0.60377760 0.8136809 0.150132543 0.65741315
## vision 0.49619018 0.6859831 0.066636435 0.48263842
## penalties 0.49080402 0.7994453 0.141194697 0.53350536
## composure 0.33170817 0.6455325 0.261278257 0.54103163
## marking 0.19737004 0.3099795 0.290395798 0.60241442
## standing_tackle 0.17273552 0.2695903 0.272198032 0.58375482
## sliding_tackle 0.17005972 0.2341199 0.271686868 0.55823785
## strength long_shots aggression
## age 0.3396713146 0.16465481 0.26485867
## height_cm 0.3187690659 -0.30560129 -0.07399600
## weight_kgs 0.6104311847 -0.27855190 0.02192552
## overall_rating 0.3607251725 0.42945805 0.39707198
## potential 0.0779175561 0.26532562 0.17000485
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.1336895078 0.21429907 0.17293078
## weak_foot.1.5. -0.0036093204 0.36559889 0.13703500
## skill_moves.1.5. -0.0334149733 0.75705356 0.36034168
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing -0.0195133014 0.74921606 0.48627748
## finishing -0.0006046457 0.88008050 0.26214175
## heading_accuracy 0.4902487257 0.51668376 0.70535601
## short_passing 0.1476783896 0.76916678 0.62210761
## volleys 0.0401962768 0.87120133 0.34428780
## dribbling -0.0213919946 0.84613562 0.45966370
## curve -0.0247818936 0.83906793 0.41168283
## freekick_accuracy -0.0068103937 0.80845170 0.40588679
## long_passing 0.1287097929 0.67849368 0.59963676
## ball_control 0.0992848641 0.83984148 0.56352917
## acceleration -0.1533685301 0.58940409 0.27347353
## sprint_speed -0.0698021696 0.57124628 0.30406484
## agility -0.2198615982 0.65162944 0.25910140
## reactions 0.3009674412 0.43224500 0.41019741
## balance -0.3773102555 0.54020194 0.20206645
## shot_power 0.1754113522 0.89245226 0.50350934
## jumping 0.2941348736 0.14204615 0.38231430
## stamina 0.2671001295 0.61066238 0.65998142
## strength 1.0000000000 0.06203469 0.47654426
## long_shots 0.0620346860 1.00000000 0.40905608
## aggression 0.4765442635 0.40905608 1.00000000
## interceptions 0.3593792745 0.20854445 0.75463077
## positioning 0.0141931030 0.86381381 0.40088958
## vision -0.0338725807 0.75865311 0.31114714
## penalties 0.0679122364 0.81480044 0.35240174
## composure 0.2905996758 0.63109189 0.52977980
## marking 0.3381566808 0.23264428 0.72911899
## standing_tackle 0.3355859067 0.18878894 0.74705524
## sliding_tackle 0.3078955669 0.15089952 0.72418772
## interceptions positioning vision penalties
## age 0.198130657 0.08551035 0.19320089 0.14792392
## height_cm -0.078730189 -0.35337973 -0.28725398 -0.27213427
## weight_kgs -0.034607195 -0.35528055 -0.28223447 -0.25145263
## overall_rating 0.322030319 0.36211586 0.50681180 0.35090157
## potential 0.151945768 0.24767728 0.34817942 0.22674561
## value_euro NA NA NA NA
## wage_euro NA NA NA NA
## international_reputation.1.5. 0.126499886 0.18255581 0.28389025 0.22060838
## weak_foot.1.5. 0.056743576 0.35532646 0.34368382 0.33757258
## skill_moves.1.5. 0.221912376 0.78661749 0.67608914 0.69588882
## release_clause_euro NA NA NA NA
## national_rating NA NA NA NA
## national_jersey_number NA NA NA NA
## crossing 0.438164348 0.79143162 0.68786352 0.65516580
## finishing -0.003939154 0.89004927 0.70286511 0.84050403
## heading_accuracy 0.559925566 0.54409651 0.28600261 0.56213520
## short_passing 0.549949797 0.76614512 0.71543180 0.68478314
## volleys 0.101064250 0.85166103 0.70291947 0.83426307
## dribbling 0.312198474 0.90165604 0.73133090 0.77329295
## curve 0.284055066 0.81769468 0.74875462 0.75682205
## freekick_accuracy 0.303410596 0.73608806 0.71861384 0.74031185
## long_passing 0.602028141 0.62590776 0.70160812 0.55443861
## ball_control 0.429608582 0.86949244 0.72066544 0.77506448
## acceleration 0.175684176 0.69457627 0.46950231 0.54456389
## sprint_speed 0.189405554 0.67787601 0.43860229 0.53282682
## agility 0.155746873 0.71505226 0.60115750 0.57334112
## reactions 0.344903214 0.39355449 0.51213952 0.35634492
## balance 0.167352072 0.60377760 0.49619018 0.49080402
## shot_power 0.276175933 0.81368086 0.68598311 0.79944530
## jumping 0.300375267 0.15013254 0.06663643 0.14119470
## stamina 0.588785901 0.65741315 0.48263842 0.53350536
## strength 0.359379275 0.01419310 -0.03387258 0.06791224
## long_shots 0.208544452 0.86381381 0.75865311 0.81480044
## aggression 0.754630773 0.40088958 0.31114714 0.35240174
## interceptions 1.000000000 0.18718093 0.19022774 0.12615611
## positioning 0.187180927 1.00000000 0.73938824 0.80558872
## vision 0.190227737 0.73938824 1.00000000 0.63681142
## penalties 0.126156107 0.80558872 0.63681142 1.00000000
## composure 0.410590156 0.59511985 0.64510981 0.56952641
## marking 0.895607004 0.22046475 0.18888756 0.16868752
## standing_tackle 0.943150345 0.17740134 0.15544094 0.11870885
## sliding_tackle 0.930522174 0.14446571 0.12218764 0.08426907
## composure marking standing_tackle
## age 0.39471684 0.14672473 0.11836161
## height_cm -0.11184925 -0.08978321 -0.08145237
## weight_kgs -0.04453798 -0.05755933 -0.05631799
## overall_rating 0.72927827 0.29253832 0.25448066
## potential 0.43411329 0.16299879 0.14392661
## value_euro NA NA NA
## wage_euro NA NA NA
## international_reputation.1.5. 0.38890622 0.11531806 0.08980893
## weak_foot.1.5. 0.28556032 0.06700224 0.04571589
## skill_moves.1.5. 0.59859513 0.25560083 0.22553172
## release_clause_euro NA NA NA
## national_rating NA NA NA
## national_jersey_number NA NA NA
## crossing 0.58972576 0.45740058 0.44057767
## finishing 0.55052001 0.04205804 -0.01342694
## heading_accuracy 0.52557791 0.59314046 0.57301458
## short_passing 0.70134094 0.57018650 0.54890710
## volleys 0.60704824 0.13556991 0.08776972
## dribbling 0.61382137 0.35333331 0.31957915
## curve 0.62864390 0.30379909 0.27425040
## freekick_accuracy 0.59569324 0.31073081 0.28908937
## long_passing 0.66165070 0.59837689 0.59346445
## ball_control 0.69047311 0.46621358 0.43095903
## acceleration 0.36893191 0.21944821 0.18859012
## sprint_speed 0.37400932 0.23720147 0.20545134
## agility 0.45070741 0.18698461 0.14914548
## reactions 0.69089393 0.29536045 0.26287910
## balance 0.33170817 0.19737004 0.17273552
## shot_power 0.64553251 0.30997948 0.26959032
## jumping 0.26127826 0.29039580 0.27219803
## stamina 0.54103163 0.60241442 0.58375482
## strength 0.29059968 0.33815668 0.33558591
## long_shots 0.63109189 0.23264428 0.18878894
## aggression 0.52977980 0.72911899 0.74705524
## interceptions 0.41059016 0.89560700 0.94315035
## positioning 0.59511985 0.22046475 0.17740134
## vision 0.64510981 0.18888756 0.15544094
## penalties 0.56952641 0.16868752 0.11870885
## composure 1.00000000 0.40386809 0.36686072
## marking 0.40386809 1.00000000 0.91163222
## standing_tackle 0.36686072 0.91163222 1.00000000
## sliding_tackle 0.33258754 0.90145959 0.97513808
## sliding_tackle
## age 0.10300828
## height_cm -0.08609258
## weight_kgs -0.06596499
## overall_rating 0.22546619
## potential 0.12975464
## value_euro NA
## wage_euro NA
## international_reputation.1.5. 0.07726731
## weak_foot.1.5. 0.02784522
## skill_moves.1.5. 0.19343774
## release_clause_euro NA
## national_rating NA
## national_jersey_number NA
## crossing 0.42240711
## finishing -0.05143236
## heading_accuracy 0.54645721
## short_passing 0.51676133
## volleys 0.05063970
## dribbling 0.29228908
## curve 0.24599100
## freekick_accuracy 0.25801118
## long_passing 0.56859354
## ball_control 0.39856091
## acceleration 0.18191434
## sprint_speed 0.19855442
## agility 0.13596240
## reactions 0.23599235
## balance 0.17005972
## shot_power 0.23411989
## jumping 0.27168687
## stamina 0.55823785
## strength 0.30789557
## long_shots 0.15089952
## aggression 0.72418772
## interceptions 0.93052217
## positioning 0.14446571
## vision 0.12218764
## penalties 0.08426907
## composure 0.33258754
## marking 0.90145959
## standing_tackle 0.97513808
## sliding_tackle 1.00000000
# Crear el gráfico de mapa de calor de la matriz de correlación
ggplot(data = melt(correlation_matrix), aes(Var1, Var2, fill = value)) +
geom_tile() +
scale_fill_gradient(low = "blue", high = "red") +
labs(title = "Matriz de Correlación")
# Cargar la librería scatterplot3d
library(scatterplot3d)
# Crear el gráfico 3D de dispersión
scatterplot3d(datos$overall_rating, datos$potential, datos$age,
xlab = "Overall Rating", ylab = "Potential", zlab = "Age",
color = "blue", pch = 16, main = "Gráfico 3D de Dispersión")
library(ggplot2)
# Ejemplo de pair plot con las variables "overall_rating", "potential", y "age"
subset_data <- datos[, c("overall_rating", "potential", "age")]
# Crear el pair plot
pairs(subset_data)
library(ggplot2)
library(reshape2)
# Calcular la matriz de correlación
correlation_matrix <- cor(datos[, sapply(datos, is.numeric)])
# Convertir la matriz de correlación a un formato adecuado para ggplot2
correlation_melted <- melt(correlation_matrix)
# Crear el heatmap con ggplot2
ggplot(data = correlation_melted, aes(Var1, Var2, fill = value)) +
geom_tile() +
scale_fill_gradient(low = "black", high = "blue") +
labs(title = "Heatmap - Matriz de Correlación")
library(imager)
## Loading required package: magrittr
##
## Attaching package: 'imager'
## The following object is masked from 'package:magrittr':
##
## add
## The following objects are masked from 'package:stats':
##
## convolve, spectrum
## The following object is masked from 'package:graphics':
##
## frame
## The following object is masked from 'package:base':
##
## save.image
# Ruta de la imagen
ruta_imagen <- "C:/Users/Usuario/Pictures/sapuri.jpeg"
# Cargar la imagen
imagen <- load.image(ruta_imagen)
# Mostrar la imagen
plot(imagen)
# Texto que tomaremos de ejemplo (Sinopsis del libro: "El corazón helado")
texto <- "
Una ambiciosa novela que narra a través de dos familias la historia reciente de nuestro país, y también el conflicto de las nuevas generaciones con la memoria.
El día de su muerte, Julio Carrión, poderoso hombre de negocios cuya fortuna se remonta a los años del franquismo, deja a sus hijos una sustanciosa herencia pero también muchos puntos oscuros de su pasado y de su experiencia en la Guerra Civil y en la División Azul. En su entierro, en febrero de 2005, su hijo Álvaro, el único que no ha querido dedicarse a los negocios familiares, se sorprende por la presencia de una mujer joven y atractiva, a la que nadie había visto antes y que parece delatar aspectos desconocidos de la vida íntima de su padre. Raquel Fernández Perea, por su parte, hija y nieta de exiliados en Francia, lo sabe en cambio casi todo sobre el pasado de sus progenitores y abuelos, a los que ha preguntado sobre su experiencia de la guerra y del exilio. Para ella sólo una historia permanece sin aclarar: la de una tarde en que acompañó a su abuelo, recién regresado a Madrid, y visitaron a unos desconocidos con los que intuyó que existía una deuda pendiente.
Álvaro y Raquel están condenados a encontrarse porque sus respectivas historias familiares, que son también la historia de muchas familias en España, desde la Guerra Civil hasta la Transición, forman parte de sí mismos y explican además sus orígenes, su presente. También porque, sin saberlo, se sentirán atraídos sin remedio.
"
# Convertir a minúsculas para la consistencia del texto
texto <- tolower(texto)
library(tokenizers)
## Warning: package 'tokenizers' was built under R version 4.3.2
# Tokenización en oraciones y palabras
oraciones <- tokenize_sentences(texto)
palabras <- tokenize_words(texto)
if (!require("quanteda")) {
install.packages("quanteda")
library(quanteda)
}
## Loading required package: quanteda
## Warning: package 'quanteda' was built under R version 4.3.2
## Warning in .recacheSubclasses(def@className, def, env): undefined subclass
## "ndiMatrix" of class "replValueSp"; definition not updated
## Warning in .recacheSubclasses(def@className, def, env): undefined subclass
## "pcorMatrix" of class "replValueSp"; definition not updated
## Package version: 3.3.1
## Unicode version: 13.0
## ICU version: 69.1
## Parallel computing: 8 of 8 threads used.
## See https://quanteda.io for tutorials and examples.
# Eliminar caracteres especiales y signos de puntuación para obtener palabras limpias
palabras_limpia <- gsub("[^a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]", "", texto)
# Cargar las stopwords desde 'quanteda' en español
stopwords_es <- quanteda::stopwords(language = "es", source = "stopwords-iso")
# Crear tokens a partir del texto limpio
tokens_texto <- quanteda::tokens(palabras_limpia)
# Eliminar stopwords del texto limpio para obtener palabras filtradas
palabras_filtradas <- tokens_remove(tokens_texto, pattern = stopwords_es) %>%
as.character()
# Muestra las palabras filtradas
print(palabras_filtradas)
## [1] "unaambiciosanovelaquenarraatravésdedosfamiliaslahistoriarecientedenuestropaísytambiénelconflictodelasnuevasgeneracionesconlamemoriaeldíadesumuertejuliocarriónpoderosohombredenegocioscuyafortunaseremontaalosañosdelfranquismodejaasushijosunasustanciosaherenciaperotambiénmuchospuntososcurosdesupasadoydesuexperienciaenlaguerracivilyenladivisiónazulensuentierroenfebrerodesuhijoálvaroelúnicoquenohaqueridodedicarsealosnegociosfamiliaressesorprendeporlapresenciadeunamujerjovenyatractivaalaquenadiehabíavistoantesyqueparecedelataraspectosdesconocidosdelavidaíntimadesupadreraquelfernándezpereaporsupartehijaynietadeexiliadosenfrancialosabeencambiocasitodosobreelpasadodesusprogenitoresyabuelosalosquehapreguntadosobresuexperienciadelaguerraydelexilioparaellasólounahistoriapermanecesinaclararladeunatardeenqueacompañóasuabueloreciénregresadoamadridyvisitaronaunosdesconocidosconlosqueintuyóqueexistíaunadeudapendienteálvaroyraquelestáncondenadosaencontrarseporquesusrespectivashistoriasfamiliaresquesontambiénlahistoriademuchasfamiliasenespañadesdelaguerracivilhastalatransiciónformanpartedesímismosyexplicanademássusorígenessupresentetambiénporquesinsaberlosesentiránatraídossinremedio"
# Lematización o Stemming
stem_palabras <- unlist(lapply(palabras_filtradas, function(word) {
if (nchar(word) > 4) {
substr(word, 1, nchar(word) - 1)
} else {
word
}
}))
# Mostrar las palabras después de la normalización
print(stem_palabras)
## [1] "unaambiciosanovelaquenarraatravésdedosfamiliaslahistoriarecientedenuestropaísytambiénelconflictodelasnuevasgeneracionesconlamemoriaeldíadesumuertejuliocarriónpoderosohombredenegocioscuyafortunaseremontaalosañosdelfranquismodejaasushijosunasustanciosaherenciaperotambiénmuchospuntososcurosdesupasadoydesuexperienciaenlaguerracivilyenladivisiónazulensuentierroenfebrerodesuhijoálvaroelúnicoquenohaqueridodedicarsealosnegociosfamiliaressesorprendeporlapresenciadeunamujerjovenyatractivaalaquenadiehabíavistoantesyqueparecedelataraspectosdesconocidosdelavidaíntimadesupadreraquelfernándezpereaporsupartehijaynietadeexiliadosenfrancialosabeencambiocasitodosobreelpasadodesusprogenitoresyabuelosalosquehapreguntadosobresuexperienciadelaguerraydelexilioparaellasólounahistoriapermanecesinaclararladeunatardeenqueacompañóasuabueloreciénregresadoamadridyvisitaronaunosdesconocidosconlosqueintuyóqueexistíaunadeudapendienteálvaroyraquelestáncondenadosaencontrarseporquesusrespectivashistoriasfamiliaresquesontambiénlahistoriademuchasfamiliasenespañadesdelaguerracivilhastalatransiciónformanpartedesímismosyexplicanademássusorígenessupresentetambiénporquesinsaberlosesentiránatraídossinremedi"
if (!require("tm")) {
install.packages("tm")
library(tm)
}
## Loading required package: tm
## Warning: package 'tm' was built under R version 4.3.2
## Loading required package: NLP
##
## Attaching package: 'NLP'
## The following objects are masked from 'package:quanteda':
##
## meta, meta<-
## The following object is masked from 'package:ggplot2':
##
## annotate
##
## Attaching package: 'tm'
## The following object is masked from 'package:quanteda':
##
## stopwords
# Crear un corpus
corpus <- Corpus(VectorSource(texto))
# Preprocesamiento del corpus
corpus <- tm_map(corpus, content_transformer(tolower)) # Convertir a minúsculas
## Warning in tm_map.SimpleCorpus(corpus, content_transformer(tolower)):
## transformation drops documents
corpus <- tm_map(corpus, removePunctuation) # Eliminar signos de puntuación
## Warning in tm_map.SimpleCorpus(corpus, removePunctuation): transformation drops
## documents
corpus <- tm_map(corpus, removeNumbers) # Eliminar números
## Warning in tm_map.SimpleCorpus(corpus, removeNumbers): transformation drops
## documents
corpus <- tm_map(corpus, removeWords, stopwords("spanish")) # Eliminar stopwords en español
## Warning in tm_map.SimpleCorpus(corpus, removeWords, stopwords("spanish")):
## transformation drops documents
corpus <- tm_map(corpus, stemDocument) # Stemming
## Warning in tm_map.SimpleCorpus(corpus, stemDocument): transformation drops
## documents
# Crear la matriz término-documento con TF-IDF
matriz_tfidf <- as.matrix(DocumentTermMatrix(corpus, control = list(weighting = function(x) weightTfIdf(x))))
## Warning in TermDocumentMatrix.SimpleCorpus(x, control): custom functions are
## ignored
# Mostrar la matriz término-documento con TF-IDF
print(matriz_tfidf)
## Terms
## Docs abuelo aclarar acompañó ademá ambiciosa aspecto atractiva atraído azul año
## 1 0 0 0 0 0 0 0 0 0 0
## Terms
## Docs cambio carrión casi civil condenado conflicto cuya dedicars deja delatar
## 1 0 0 0 0 0 0 0 0 0 0
## Terms
## Docs desconocido deuda división dos día encontrars entierro españa exiliado
## 1 0 0 0 0 0 0 0 0 0
## Terms
## Docs exilio existía experiencia explican familia familiar febrero fernández
## 1 0 0 0 0 0 0 0 0
## Terms
## Docs forman fortuna francia franquismo generacion guerra herencia hija hijo
## 1 0 0 0 0 0 0 0 0 0
## Terms
## Docs historia hombr intuyó joven julio madrid memoria mismo mucha muert mujer
## 1 0 0 0 0 0 0 0 0 0 0 0
## Terms
## Docs nadi narra negocio nieta novela nueva orígen oscuro padr parec part pasado
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## Terms
## Docs paí pendient perea permanec poderoso preguntado presencia present
## 1 0 0 0 0 0 0 0 0
## Terms
## Docs progenitor punto querido raquel recient recién regresado remedio remonta
## 1 0 0 0 0 0 0 0 0 0
## Terms
## Docs respectiva sabe saberlo sentirán sorprend sustanciosa sólo tard transición
## 1 0 0 0 0 0 0 0 0 0
## Terms
## Docs travé vida visitaron visto álvaro íntima único
## 1 0 0 0 0 0 0 0
if (!require("sentimentr")) {
install.packages("sentimentr")
library(sentimentr)
}
## Loading required package: sentimentr
## Warning: package 'sentimentr' was built under R version 4.3.2
##
## Attaching package: 'sentimentr'
## The following object is masked from 'package:imager':
##
## highlight
sentimientos <- sentiment(texto)
if (!require("udpipe")) {
install.packages("udpipe")
library(udpipe)
}
## Loading required package: udpipe
## Warning: package 'udpipe' was built under R version 4.3.2
# Descargar un modelo preentrenado que nos ayude
model <- udpipe_download_model(language = "spanish")
## Downloading udpipe model from https://raw.githubusercontent.com/jwijffels/udpipe.models.ud.2.5/master/inst/udpipe-ud-2.5-191206/spanish-gsd-ud-2.5-191206.udpipe to C:/Users/Usuario/Documents/spanish-gsd-ud-2.5-191206.udpipe
## - This model has been trained on version 2.5 of data from https://universaldependencies.org
## - The model is distributed under the CC-BY-SA-NC license: https://creativecommons.org/licenses/by-nc-sa/4.0
## - Visit https://github.com/jwijffels/udpipe.models.ud.2.5 for model license details.
## - For a list of all models and their licenses (most models you can download with this package have either a CC-BY-SA or a CC-BY-SA-NC license) read the documentation at ?udpipe_download_model. For building your own models: visit the documentation by typing vignette('udpipe-train', package = 'udpipe')
## Downloading finished, model stored at 'C:/Users/Usuario/Documents/spanish-gsd-ud-2.5-191206.udpipe'
ud_model <- udpipe_load_model(model$file_model)
# Realizar tokenización y etiquetado de entidades para falcilitar la extracción
annotations <- udpipe_annotate(ud_model, x = texto, doc_id = 1)
entities <- annotations$entity
# Filtrar nombres de personas y ubicaciones
personas <- annotations$lemma[entities == "B-PER" | entities == "I-PER"]
ubicaciones <- annotations$lemma[entities == "B-LOC" | entities == "I-LOC"]
# Mostrar nombres de personas y ubicaciones extraídos
print("Nombres de personas:")
## [1] "Nombres de personas:"
print(personas)
## NULL
print("Ubicaciones:")
## [1] "Ubicaciones:"
print(ubicaciones)
## NULL
Las funciones, módulos y librerías destacan la versatilidad de R debido a su amplia gama de funciones, módulos y librerías. Estos permiten realizar una variedad de tareas analíticas, incluidos cálculos básicos y análisis de datos complejos.
En R, las estructuras tabulares son fundamentales para el análisis de datos. La manipulación de datos en R es simple y poderosa, permitiendo la selección, filtrado, agregación y transformación de datos de manera eficiente.
El proceso de análisis de datos se divide en una serie de pasos esenciales. La recolección y preparación de datos es el primer paso, luego el procesamiento, el análisis, la visualización y la comunicación de los resultados. R facilita un flujo de trabajo organizado y eficiente al proporcionar herramientas específicas para cada etapa.
El proceso de análisis de datos en R comienza con la importación y limpieza de datos y continúa con la visualización y modelado. R proporciona una amplia variedad de herramientas y kits para cada etapa del análisis.
R ofrece una variedad de opciones para importar datos desde archivos comunes como CSV, Excel, JSON y TXT. Estas funciones permiten cargar y preparar datos para el análisis rápidamente.
Es fundamental identificar y tratar los datos faltantes u outliers. R proporciona métodos para imputar valores faltantes o eliminar observaciones según las necesidades del análisis, garantizando la precisión de los resultados.
Antes del análisis, la preparación de datos implica una serie de tareas para limpiarlos, transformarlos y mejorarlos. R proporciona herramientas para validar la calidad de los datos, encontrar problemas y realizar modificaciones.
R proporciona una variedad de visualizaciones para datos univariados, bivariados y multivariados. La visualización en R es versátil y efectiva, desde histogramas y boxplots hasta gráficos 3D y matrices de correlación.
R permite visualizaciones más avanzadas como mapas de calor, visualización de imagenes y plots parciales además de los gráficos comunes. Estos métodos brindan una visión visual y más profunda de los datos complejos.
R facilita la tokenización, limpieza, normalización y análisis de sentimientos en el procesamiento de texto. Es posible obtener información como nombres de personas o ubicaciones utilizando librerías especializadas como Udpipe.
RPubs - 2.2.2. Instalación y carga de las librerías. (2021, June 25). Rpubs.com. https://rpubs.com/hllinas/R_Librerias
Santana, A. (2018). Librerías en R. Ulpgc.es. https://estadistica-dma.ulpgc.es/cursoR4ULPGC/5-librerias.html
Casal, F., Javier Roca-Pardiñas (roca@uvigo.es, Costa, J., & Oviedo, M. (2023). Capítulo 4 Manipulación de datos | Introducción al Análisis de Datos con R. Github.io. https://rubenfcasal.github.io/intror/manipulacion.html
Casal, F., Javier Roca-Pardiñas (roca@uvigo.es, Costa, J., & Oviedo, M. (2023). 2.3 Data frames | Introducción al Análisis de Datos con R. Github.io. https://rubenfcasal.github.io/intror/data-frames.html
Introducción al análisis de datos en R. (2023, November 10). Educación Continua Uniandes. https://educacioncontinua.uniandes.edu.co/es/programas/introduccion-al-analisis-de-datos-en-r
Group, B. (2020). Las 6 etapas del procesamiento y análisis de datos. Bantugroup.com. https://www.bantugroup.com/blog/etapas-del-procesamiento-y-analisis-de-datos
Cómo elaborar un análisis de flujo de datos con Power BI | LHCampus. (2021, March 24). LHCampus. https://lhcampus.es/blg/como-elaborar-un-analisis-de-flujo-de-datos-con-power-bi/
¿Qué es la preparación de datos? - Alteryx. (2023, July 3). Alteryx. https://www.alteryx.com/es/glossary/data-preparation