APLICANDO LOS CONOCIMIENTOS DE RSTUDIO
En este documento se presentan los ejercicios resuletos del taller #15 haciendo uso de rmarkdown
AUTORES
COLABORACIÓN
#Inspecciona la columna Temp (temperatura) del conjunto de datos airquality de acuerdo con #las sugerencias del párrafo anterior.
# Sin embargo, es mucho más informativa una representación visual de los datos.
# La manera más rápida (y recomendada) de hacerse una idea de la distribución
# de los datos de una columna #numérica es usando histogramas.
# En R, para representar el histograma de la columna #
# Sepal.Width de iris se puede hacer:
hist(iris$Sepal.Width)
tail(airquality$Temp)
## [1] 63 70 77 75 76 68
summary(airquality$Temp)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 56.00 72.00 79.00 77.88 85.00 97.00
hist(iris$Sepal.Width)
hist(iris$Sepal.Width, main = "iris: Histograma de la anchura de los sépalos",
xlab = "Anchura del sépalo", ylab = "Frecuencia",
col = "blue")
# Por defecto, el eje horizontal de un histograma muestra
# el número de observaciones #en cada bin. Examina la ayuda
# de hist para ver cómo mostrar en, lugar de los números
# absolutos, la proporción.
help(hist)
## starting httpd help server ... done
hist(iris$Sepal.Width,breaks=seq(1,5,by=5), main = "iris: Histograma de la anchura de los sépalos",
xlab = "Anchura del sépalo", ylab = "Frecuencia",
col = "green")
# El número de bins también es parametrizable. Examina otra vez la página de ayuda para modificar el valor por defecto.
hist(iris$Sepal.Width, freq = FALSE, main = "iris: Histograma de la anchura de los sépalos",
xlab = "Anchura del sépalo", ylab = "Frecuencia",
col = "yellow")
# Estudia la distribución de las temperaturas en Nueva York (usa airquality).
head(airquality)
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
hist(airquality$Temp,main="Distribución de las temperaturas en Nueva York",
xlab = "Temperatura",ylab = "Frecuencia",col= "blue")
# usar los menús de Rstudio. Pero también puedes hacerlo programáticamente
#. En la página de ayuda de la función png se explica cómo hacerlo.
# Usa las funciones png y jpeg para guardar
# alguno de los gráficos anteriores en tu disco duro.
barplot(table(iris$Species))
# Usa los parámetros main, xlab, ylab y col discutidos
# en la sección anterior para mejorar el aspecto de este gráfico.
barplot(table(iris$Species), main = "Especies", xlab = "Tipo",
ylab = "Frecuencia", col = rainbow(10))
# Investiga el argumento horiz de barplot para
# crear un gráfico de barras horizontales.
barplot(table(iris$Species),horiz = TRUE, main = "Especies", xlab = "Frecuencia",
ylab = "Tipo", col = "lightblue")
# pueden usarse para mostrar datos contenidos en vectores etiquetados.
# De hecho, table crea un vector etiquetado: asocia a cada etiqueta su
# frecuencia en la columna. Algunas tablas contienen un registro por
# etiqueta y entonces podemos usar gráficos de barras para representar
# esa información. Por ejemplo:
barplot(VADeaths[, 2], xlab = "Tramos de edad", ylab = "Tasa de mortalidad",
main = "Tasa de mortalidad en Virginia\nmujer/rural")
# Representación de la relación entre dos variables continuas:
# gráficos de dispersión Los aspectos más interesantes de los
# datos se revelan no examinando las variables #independientemente
# sino en relación con otras. Los gráficos de dispersión muestran la
# #relación entre dos variables numéricas. En el ejemplo siguiente
# serán la velocidad y la #distancia de frenado de un conjunto
# de coches recogidas en el conjunto de datos cars:
plot(cars$speed, cars$dist)
# Representa gráficamente la anchura del sépalo contra
# su longitud (usando iris). Interpreta el gráfico.
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
plot(iris$Sepal.Width, iris$Sepal.Length)
# Interpretación: El gráfico de dispersión realizado
# con la anchura y longitus de los sépalos de la base
# de datos iris, muestra cómo va aumentando el
# Sepal.width(anchura) en función del Sepal.Length(longitud)
# De nuevo, usa los parámetros main, xlab, ylab y co
# discutidos en la sección anterior para mejorar el
# aspecto de los gráficos anteriores.
plot(iris$Sepal.Width, iris$Sepal.Length,main = "Características del Sépalo ", ylab = "Longitud del Sépalo",
xlab = "Anchura del Sépalo", col="brown")
plot(airquality$Temp, type = "l")
# varios elementos gráficos sobre la misma
# representación gráfica: por ejemplo, combinar
# puntos y líneas como aquí:
plot(airquality$Temp)
#lines(airquality$Temp)
#característica de los gráficos básicos de R: a un primer gráfico se le pueden añadir progresivamente capas adicionales. En el caso anterior, a un gráfico de puntos se le han añadido líneas. Pero podrían añadirse más elementos. Por ejemplo, al gráfico anterior se le puede añadir un elemento más, una línea horizontal roja a la altura de la temperatura media, usando la función (muy útil) abline:
plot(airquality$Temp)
#lines(airquality$Temp)
#abline(h = mean(airquality$Temp), col = "red")
plot(airquality$Temp)
# lines(airquality$Temp)
# Consulta la ayuda de la función abline y úsala para añadir líneas (no solo horizontales) a alguno de los gráficos anteriores.
# Cargar el conjunto de datos iris (si aún no está cargado)
data(iris)
# Crear el gráfico de dispersión
plot(iris$Sepal.Width, iris$Sepal.Length,
main = "Características del Sépalo",
ylab = "Longitud del Sépalo",
xlab = "Ancho del Sépalo",
col = "#BF3EFF")
# Agregar líneas horizontales y verticales usando abline
#abline(h = seq(4, 8, by = 0.5), v = 2.5,
#col = 'red', lwd = 2)
# Consulta una página de ayuda en R que muestra gran cantidad de parámetros modificables en un gráfico. Investiga y usa col, lty y lwd. Nota: casi nadie conoce estos parámetros y, menos, de memoria; pero está bien saber que existen por si un día procede utilizarlos.
# Cargar el conjunto de datos iris (si aún no está cargado)
data(iris)
# Crear un nuevo dispositivo de ventana gráfica
x11()
# Crear el gráfico de dispersión
plot(iris$Sepal.Width, iris$Sepal.Length,
main = "Características del Sépalo",
ylab = "Longitud del Sépalo",
xlab = "Ancho del Sépalo",
col = "darkgreen")
# Agregar líneas horizontales y verticales usando segments
#abline(v = 2, col = "red", lwd = 5, lty = "dashed")
#segments(0, 5, 4, 5, col = "red", lwd = 5, lty = "dashed")
#segments(2, 0, 2, 10, col = "red", lwd = 5, lty = "dashed")
boxplot(iris$Sepal.Width ~ iris$Species, col = "gray",
main = "Especies de iris\nsegún la anchura del sépalo")
# Identifica la observación atípica. ¿Es atípica también con respecto a otras variables?
#Interpretación: El gráfico anterior ilustra la potencia de los diagramas de caja. Para las setosas, existe una observación atípica, mucho menor que el resto, pero cuya atipicidad queda oculta por otras observaciones normales correspondientes a virgínicas o versicolores. Esa observación atípica no llamaría la atención si se representan gráficamente todos los valores, independientemente de su tipo, pero se manifiesta claramente al segmentar la representación por especie.
# Muestra la distribución de las temperaturas en Nueva York en función del mes.
boxplot(airquality$Temp ~ airquality$Month, col = "red",
main = "Calidad del aire \nsegún la temperatura por mes", xlab = "Mes",
ylab = "Temperatura")
# En el ejemplo anterior se ha usado el color steelblue. Si buscas en internet encontrarás la lista completa de aquellos colores cuyos nombres entiende R o cómo usar sus representaciones RGB u otras.