0% encontró este documento útil (0 votos)
4 vistas29 páginas

Gráficos para Análisis de Datos en R

El laboratorio se centra en el análisis exploratorio de datos (EDA) utilizando un conjunto de datos de Pokémon de Kaggle, donde se identifican tendencias, valores faltantes y extremos. Se requiere la creación de un reporte que incluya gráficos y resultados generados en R, así como un análisis visual de las variables de interés. El laboratorio se divide en dos partes: la primera se enfoca en gráficos sencillos y la segunda en gráficos más depurados utilizando bibliotecas adicionales.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas29 páginas

Gráficos para Análisis de Datos en R

El laboratorio se centra en el análisis exploratorio de datos (EDA) utilizando un conjunto de datos de Pokémon de Kaggle, donde se identifican tendencias, valores faltantes y extremos. Se requiere la creación de un reporte que incluya gráficos y resultados generados en R, así como un análisis visual de las variables de interés. El laboratorio se divide en dos partes: la primera se enfoca en gráficos sencillos y la segunda en gráficos más depurados utilizando bibliotecas adicionales.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad de Costa Rica

SISTEMA DE ESTUDIOS DE POSGRADO


Diseño y Análisis de Experimentos

Laboratorio #2

Gráficos para Análisis Exploratorio de Datos y gráficos


depurados

Profesor: Ignacio Díaz Oreiro

Estudiante:

Karina Serrano - C4A077


Marco Jiménez Gutiérrez -
Cristian Martínez Hernández - B03714

Primer semestre 2025

1
Introducción

El análisis exploratorio de datos (EDA, por sus siglas en inglés) es un proceso que permite la
identificación de las tendencias dentro de los conjuntos de los datos. Durante el desarrollo de
un experimento es importante que se logre identificar la presencia de algunas de estas
tendencias o medidas como la existencia de valores faltantes, valores extremos, medidas de
valores centrales o de dispersión. Esta información valiosa nos da acceso a relevante
conocimiento acerca de nuestro conjunto de datos.

Por ejemplo, la presencia de valores faltantes nos puede indicar o permitirnos pensar que
durante la recolección de datos algo no fue tan riguroso como se planteó. También que exista
algún sesgo en el conjunto de datos, lo que potencialmente podamos evidenciar mediante un
análisis visual.

La presencia de valores extremos podría ser un indicador de posibles errores de muestreo, de


problemas en la consecución de datos o inclusive de un problema causado por las personas
que llevaron a cabo el muestreo. La implementación de una mala estrategia de recolección de
datos en un muestreo por parte de un analista puede llevar a un sesgo.

Mediante un análisis exploratorio de datos podemos identificar anomalías y solicitar al ente


encargado de ejecutar el estudio que a) rellene los datos faltantes (solicite a los participantes
estos datos) o b) brinde la información faltante si fue problema de transcripción. Como vemos
el análisis exploratorio nos permite tomar acciones correctivas con respecto a la validez del
diseño del experimento, la fase de recolección de datos.

En este laboratorio vamos a trabajar con el conjunto de datos de Kaggle de Pokemon. Puede
acceder al siguiente enlace para ver documentación del significado de las columnas:

[Link]

Trabajo a realizar

Debe crear un reporte con evidencia de que ejecutó todo el Laboratorio. El reporte es un
documento con un formato uniforme y coherente, en el que se incluye texto explicativo del
trabajo que se va realizando, los segmentos de código R y los resultados R que se van
aportando como parte del laboratorio. El reporte debe poder leerlo y entenderlo una persona
que no cuenta con el enunciado del laboratorio.

Para los gráficos en los que se le proveyó de código, debe incluir el gráfico en el reporte,
debidamente rotulado con la información que presenta.

2
Para los gráficos donde usted debe crear las instrucciones en R (que inician con “Construya…”)
debe presentar tanto el gráfico resultante como el código R que utilizó para crearlo.

Cada gráfico y resultado debe estar debidamente identificado. Esto debe hacerse uno por uno,
no es válido copiar todo el código R y luego todos los resultados y gráficos. Debe indicar
también qué acción está realizando e identificar claramente los resultados que presenta R.

El laboratorio se divide en dos partes: en la primera se realizará un análisis exploratorio de


datos, con resultados y gráficos sencillos (pero que deben contar con toda la información
pertinente), mientras que en la segunda parte se realizarán algunos gráficos con formato más
depurado. Para la primera parte se utilizarán gráficos y facilidades que provee R, mientras que
para la segunda parte es necesario cargar algunas bibliotecas.

A. Primera parte

Todos los gráficos que se muestran o solicitan generar deben incluirse en el Reporte de
Laboratorio. Para los gráficos para los que no se provee el código (identificados con la palabra
Construya), usted debe incluir en el reporte el código R que usted creó.

Además, todos los resultados que se generen a partir de código en R (se despliegan en la
consola) deben incluirse en el reporte.

A.1. Información general

Lea el CSV que se le proveyó ([Link]) con la información de los Pokemon:

3
Se puede obtener información básica del dataframe con los comandos str() y glimpse().

Ahora bien, sí es importante que incluya los datos para las variables que más nos interesan, a
saber: attack, defense, hp, weight_kg y height_m.

Para cada una de ellas construya, ejecute y copie la salida en el reporte.

4
Para variables categóricas se puede obtener información utilizando el comando table().

5
A.2. Histogramas

Los histogramas nos brindan información sobre variables continuas.

6
7
8
A.3. Boxplots

Podemos construir boxplots para comparar valores de una variable. Por ejemplo, graficar los
valores de attack por tipo de Pokémon.

9
10
A.4. Gráficos de dispersión

Podemos usar estos gráficos para ver cómo se comportan dos variables, si por ejemplo se
sospecha que puede haber algún tipo de correlación.

11
12
13
B. Segunda parte

Todos los gráficos que se muestran o solicitan generar deben incluirse en el Reporte de
Laboratorio. Para los gráficos para los que no se provee el código (identificados con la palabra
Construya), usted debe incluir en el reporte el código R que usted creó.

Instalar los paquetes:

14
Cargar los paquetes:

# Definimos el conjunto como una tibble que es una data frame simplificada
# Las tibbles son versiones de dataframes con algunas facilidades de impresión y uso.

Como se puede ver el data frame es bastante extenso entonces para esta EDA se van a
seleccionar algunas columnas para realizar las exploración y visualizaciones.

15
B.1 Gráficos de densidad de varios atributos de Pokémon

Un diagrama de densidad visualiza la distribución de datos en un intervalo continuo. Este


gráfico es una variación de un histograma que utiliza el suavizado del núcleo para trazar
valores, lo que permite distribuciones más uniformes al suavizar el ruido. Los picos de un
gráfico de densidad ayudan a mostrar dónde se concentran los valores durante el intervalo.

16
17
B.2. Diagramas de Barras

Un gráfico de barras es quizás la visualización de datos estadísticos más común utilizada por
los medios. Un gráfico de barras desglosa los datos categóricos (lo que R conoce como
factores) por grupo y representa estas cantidades usando barras de diferentes longitudes.
Vamos a trazar el número de individuos en cada grupo (también llamado frecuencia).

Número de Pokémon basado en su tipo primario (type1) y secundario (type2)

Observamos que los tipos de Pokémon más comunes son Water, Normal, Grass y Bug.

18
El tipo de Pokémon secundario más común es Flying. Hay que tomar en cuenta que hay una
gran cantidad de Pokémon que no tiene tipo secundario, al menos en este conjunto de datos.

Construya un gráfico de barras similar al anterior, pero para el tipo secundario (type2).
Modifique los colores del gráfico anterior y asegúrese de que el ángulo de las etiquetas está en
90 grados.

19
20
Número de Pokemon legendarios según su tipo primario (type1)

Podemos observar que hay más de 15 Pokémon legendarios del tipo Psíquico. Los tipos de
Hada (Fairy), voladores (Fly) y fantasmas (Ghost) tienen la menor cantidad de Pokémon
legendarios. Probablemente este sea el caso porque los Pokémon Psíquicos son "misteriosos".

Construya un gráfico de barras similar al anterior, pero filtrando por los no legendarios.
Modifique los colores del gráfico anterior para que los colores estén entre naranja y rojo.

21
22
B.3. Gráfico de dispersión – Scatterplots

Un diagrama o gráfico de dispersión es una visualización de datos bidimensional que utiliza


puntos para representar los valores obtenidos para dos variables (usualmente referidos como X
y Y): una trazada a lo largo del eje x, y la otra trazada a lo largo del eje y.

Los diagramas de dispersión son útiles para interpretar tendencias en datos estadísticos y se
usan cuando se desea mostrar la relación entre dos variables. Los gráficos de dispersión a
veces se llaman gráficos de correlación porque se utilizan para mostrar la correlación entre las
variables X y Y.

Características de Defensa vs Ataque del Pokémon

Aquí, los Pokémon legendarios son de color verde, mientras que los Pokémon no legendarios
son de color azul.

Para los Pokémon no legendarios, parece existir una relación lineal positiva entre los atributos
de ataque y defensa. Lo que significa que los Pokémon que tienen un atributo de ataque más
alto, tienden a tener un atributo de defensa más alto también.

Aunque hay algunas anomalías, los Pokémon legendarios, en general, tienen mayores
atributos de defensa y ataque. Por ejemplo, tenemos Pokemon como Groudon y Gyarados (que
podemos identificar arriba a la derecha) los cuales parecen equilibrados tanto en ataque como
en defensa. Por otro, lado tenemos algunos elementos como Magikarp y Abra los cuales
poseen características bajas de defensa y ataque.

Nota: Aumentamos el [Link] = 100 para eliminar el siguiente warning y poder observar a
Gyarados en el gráfico.
Warning message:
ggrepel: 21 unlabeled data points (too many overlaps). Consider increasing
[Link]

ggplot(data=df, aes(attack, defense)) + geom_point(aes(color=is_legendary), alpha=0.8) +


scale_color_gradient(low="green", high="blue") + ggtitle("Contraste Defensa vs Ataque") +
geom_label_repel(data=subset(df,attack > 150 | defense > 160 | attack < 25 | defense < 25),
aes(label=name),
[Link] = 0.35, [Link] = 0.5, size = 3,
[Link] = 'grey50', [Link] = 100)

23
Otros Scatterplots

Como veremos más adelante en este curso cuando veamos regresión, el diagrama de
dispersión o scatterplot, nos ayuda a encontrar relaciones entre X y Y. Estas relaciones, en su
mayoría son lineales.

Asimismo, estas relaciones nos permiten identificar las asociaciones entre las variables, pero
también permiten identificar si en nuestro modelo existen variables ocultas (lurking). Algo que
debemos recordar siempre es que cualquier asociación que identifiquemos será eso, una
asociación o correlación, pero no una causalidad directa.

Pero, regresando a nuestro análisis de Pokémon, vamos a enfocarnos en las siguientes


variables: velocidad, altura, peso y HP (hit points o vida) vs atributo de ataque. Esto porque
queremos ver si existe algunas relaciones entre estos atributos. La idea es ver si quizás, a
mayor velocidad menos HP, o a mayor peso, más HP.

24
De hecho, y a manera de avance (spoiler alert!), a medida que aumenta el ataque en los
Pokemon, los atributos de Velocidad, Altura, Peso y HP del Pokémon aumentan también. Así
pues, vemos que existe una relación positiva débil entre:

a. la velocidad y los atributos de ataque.


b. una relación lineal positiva más fuerte entre altura, peso y HP con el atributo de
ataque.

En el diagrama de dispersión, con el siguiente código (ver abajo), se hace un etiquetado de los
Pokémon legendarios.
Primero vamos a crear el gráfico de dispersión entre attack y speed para los Pokémon
legendarios. Etiquetamos aquellos con attack > 170 ó speed > 150.

25
B.4 Diagramas de Caja o Boxplots

Un diagrama de caja o box plot es una forma de mostrar la dispersión y los centros de un
conjunto de datos.

Diagrama de caja de atributos de Pokémon

En los boxplots se puede observar que la mediana de todas las características de Pokémon
legendarios se encuentran por encima de aquellas de sus contrapartes no legendarias. Por otra
parte, el boxplot nos permite ver que para el atributo HP podemos observar que existen
muchos más valores atípicos para los Pokemon no legendarios cuando lo comparamos con los
otros atributos. Finalmente, al comparar los 2 grupos de análisis (legendarios y no legendarios)
podemos ver que:

Hay más valores atípicos (en cuanto a atributos) en Pokémon no legendarios en


comparación con los Pokémon legendarios.

26
B.5. Mapas de calor

Un mapa de calor se puede definir como tablas con colores en lugar de números, donde una
escala colorimétrica representa un rango de valores continuos (escala de grises en lugar de
valores de 0 a 1). Con base en esto podemos entender entonces que por ejemplo el valor más
bajo se establece en azul oscuro, el valor más alto en rojo y los valores de rango medio en
blanco, con una transición (o gradiente) correspondiente entre estos extremos.

Los mapas de calor son muy usados para visualizar cantidades de datos multidimensionales.
Esta característica los hace parte del conjunto de herramientas que permiten explorar e
identificar tendencias relevantes en un conjunto de datos. Por ejemplo, a través de los mapas
de calor podemos identificar grupos de filas con valores similares, ya que se muestran como
áreas de color similar. Esto permite identificar variables que poseen una relación.

A continuación, veremos cómo los atributos de varios tipos de Pokémon se comparan entre sí.
Para esto, calcularemos la mediana de estos atributos y trazaremos un mapa de calor para
Pokémon legendarios y no legendarios.

Mapa de calor de tipo primario vs atributo - Pokémon legendarios

En este momento utilizaremos mapas de calor para analizar los Pokemon tipo hielo. Este
análisis nos permite ver que los Pokemon legendarios de tipo hielo o Ice tienen un valor muy
alto de defensa especial (sp_defense), pero un valor bajo de velocidad o Speed. Asimismo,
podemos apreciar que los Pokémon legendarios terrestres tienen un atributo de ataque muy
alto, y aquellos Pokémon legendarios de tipo bug o Insecto tienen un nivel muy bajo de
sp_defense o defensa especial.

27
Mapa de calor de tipo primario vs atributo - Pokémon no legendarios

Construya un mapa de calor equivalente, pero para Pokémon no legendarios.

En este escenario podemos ver que:

a. Los Pokémon tipo acero tienen un alto valor de defensa, pero muy baja velocidad.
b. Los Pokémon de tipo lucha (fighting) tienen un alto valor de ataque, pero un valor
muy bajo de sp_attack.
c. Los Pokémon terrestres, de hielo y normales tienen niveles de HP similares
d. Los Pokémon de tipo veneno, psíquico y de roca tienen niveles de HP similar.

28
29

También podría gustarte