Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Universidad Finis Terrae

Taller 4

GRÁFICOS
De modo general R, en su versión básica, incluye funciones para crear gráficos. Sin embargo, estas
herramientas son bastante limitadas en cuanto a las posibilidades de edición que incluyen. Con todo,
resultan válidas para un uso de análisis exploratorio.
Cosas importantes sobre la visualización de gráficos
• Lleva información, es un mensaje
• Nos obliga a interpretar o decodificar información.
• No siempre es el fin en si mismo
• Es una herramienta exploratoria.
• Distintitas visualizaciones en mismos proporciona distinta información.

GRÁFICOS DE BARRA
Son muy versátiles y permiten representar tanto variables cualitativas como cuantitativas discretas.
La altura de la barra indica la frecuencia, la que puede ser absoluta o relativa.

¿Cuál es la anomalía?
a) Caso 1

b) Caso 2
Ejemplo 1
barplot(table(datos$GENDER), main="Género de los infantes"
, xlab="Sexo",
ylab="Frecuencia absoluta ", col="darkblue")

Ejemplo 2

barplot(table(datos$GENDER,datos$zep),beside=TRUE,legend.text=TRUE,
col=c("gold1","dodgerblue4"),
args.legend = list(x = "topright", inset = c(0.6, 0)),
names.arg = c("Colegio en zona vulnerable", "Colegio en zona no
vulnerable"))

Ejemplo 3
barplot(table(datos$GENDER), main = "Gráfico de barras horizontal",
ylab = "Género", xlab = "Frecuencia",
horiz = TRUE) # Gráfico de barras horizontal

HISTOGRAMA
Similares a los gráficos de barra, diferencia es que las barras están continuas, por lo que son adecuados
para variables cuantitativas continuas.
hist(datos$weight,main = "Histograma variable peso",
ylab = "Frecuencia absoluta", xlab = "Peso en Kg", col="gold1" )

BOXPLOT
Un diagrama de caja (también, diagrama de caja y bigotes o box plot) es un método estandarizado
para representar gráficamente una serie de datos numéricos a través de sus cuartiles. En general, es
apropiada para variables cualitativas.

boxplot(datos$weight, main="Boxplot variable peso", ylab="peso en kg",


col="dodgerblue4")

Se puede comparara una variable cuantitativa según una cualitativa.


boxplot(datos$weight~datos$GENDER, main="Boxplot variable peso",
ylab="peso en kg", xlab="Género",
col=c("dodgerblue4", "forestgreen"))
GGPLOT 2
El paquete ggplot es uno de los entornos gráficos del R y permite elaborar un gráfico a partir de un
proceso de acumulación de capas o layers. Tiene un cierto nivel de complejidad pero se obtienen
resultados muy profesionales.

Un gráfico en ggplot2 puede tener varias capas, en su conjunto, las capas forman el gráfico al
combinar:
• Un data frame y las variables a ser graficadas
• Una o varias capas indicando, entre otros:
- El tipo de objeto a graficar o "geom" (barra, línea, punto, etc.)
- Las transformaciones estadísticas a los datos
- La posición de los objetos en el gráfico
• Una escala para cada variable a ser graficada
• Un sistema de coordenadas
• La especificación de "facetas" del gráfico

Uso básico
1. Instale la librería
install.packages("ggplot2")
library(ggplot2)

2. Librería Básica vs ggplot


Comparada con la librería básica de R, el ggplot2 es más difícil para gráficas predeterminadas sin
embargo es más simple para gráficas complejas. Los datos tienen que estar siempre en dataframe. El
esquema básico de la gramática de ggplot es

ggplot(data.frame, aes(x = variable)) +


geom_forma()

Por ejemplo, si queremos hacer un gráfico de barras, iniciamos definiendo la data y la variable a
graficar.

ggplot(data=datos,aes(x=GENDER))

¿Qué ocurrió? Incorporemos una “capa” adicional.

ggplot(data=datos,aes(x=GENDER))+
geom_bar()+
Entonces:
• ggplot() crea un sistema de coordenadas al cual se pueden agregar capas
• ggplot(data = datos) da un grafico vacío pues no agregamos capas
• geom_bar() agrega una capa donde superpone las barras al gráfico.
• Cada función geom_algo tiene un argumento de mapping que define cómo se asignan o se
“mapean” las variables del conjunto de datos a propiedades visuales del geom_algo
• El argumento de mapping siempre aparece emparejado con aes() y los argumentos x e y
especifican qué variables asignar a los ejes x e y.

Continuemos con el ejemplo, incorporemos nombre de los ejes y título al gráfico.

ggplot(data=datos,aes(x=GENDER))+
geom_bar()+
xlab("Género") +
ylab ("Frecuencia absoluta")+
ggtitle("Género del estudiante")

Podemos modificar el ancho de las barras


ggplot(data=datos,aes(x=GENDER))+
geom_bar(width=0.5)+
xlab("Género") +
ylab ("Frecuencia absoluta")+
ggtitle("Género del estudiante")

E incorporar un tema por defecto.


ggplot(data=datos,aes(x=GENDER))+
geom_bar(width=0.5, colour="black", fill="darkred")+
xlab("Género") +
ylab ("Frecuencia absoluta")+
ggtitle("Género del estudiante")+
theme_minimal()

Si queremos graficar una varaible continua, diferenciada por una categoría, bastará con incluir la
especificación stat = "identity".
ggplot(data=datos,aes(x=GENDER, y=weight))+
geom_bar(stat = "identity")+
xlab("Género") +
ylab ("Frecuencia absoluta")+
ggtitle("Género del estudiante")+
theme_minimal()
Histogramas con GGPLOT2
Continuemos usando los datos de la planilla bmichil.xls, ahora queremos realizar un histograma para
la variable peso.

ggplot(data=datos)+
geom_histogram( aes(x=weight))

Definimos el número de intervalos y el ancho de las columnas.

ggplot(data=datos)+
geom_histogram( aes(x=weight),
bins=10,
fill='lightblue',
col='black')

Justamos los últimos detalles del gráfico.


ggplot(data=datos)+
geom_histogram( aes(x=weight),
bins=10,
fill='lightblue',
col='black')+
labs(x = 'Peso en kg', y = 'Frecuencias', title = 'Histograma') +
theme_minimal() +
theme(panel.grid = element_blank())

BOX PLOT
Estamos interesados en realizar un boxplot de la variable peso diferenciado por género.

ggplot(data=datos,
aes(x = factor(GENDER),
y = weight)) +
geom_boxplot() +
coord_flip() +
labs(title="Peso según género",
x = "Género",
y = "Peso en kg" ) +
theme_minimal()
En muchas ocasiones nos interesará saber cual es el valor del promedio.

ggplot(data=datos,
aes(x = factor(GENDER),
y = weight)) +
geom_boxplot(aes(color=GENDER)) +
coord_flip() +
stat_summary(fun = "mean",
geom = "point",
color = "purple") +

labs(title="Peso según género",


x = "Género",
y = "Peso en kg" ) +
theme_minimal()

You might also like