UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

CARRERA DE INGENIERÍA ESTADÍSTICA

INTEGRANTES:

EJERCICIO 1:

Inspecciona la columna Temp (temperatura) del conjunto de datos airquality de acuerdo con las sugerencias del párrafo anterior.

airquality$Temp
##   [1] 67 72 74 62 56 66 65 59 61 69 74 69 66 68 58 64 66 57 68 62 59 73 61 61 57
##  [26] 58 57 67 81 79 76 78 74 67 84 85 79 82 87 90 87 93 92 82 80 79 77 72 65 73
##  [51] 76 77 76 76 76 75 78 73 80 77 83 84 85 81 84 83 83 88 92 92 89 82 73 81 91
##  [76] 80 81 82 84 87 85 74 81 82 86 85 82 86 88 86 83 81 81 81 82 86 85 87 89 90
## [101] 90 92 86 86 82 80 79 77 79 76 78 78 77 72 75 79 81 86 88 97 94 96 94 91 92
## [126] 93 93 87 84 80 78 75 73 81 76 77 71 71 78 67 76 68 82 64 71 81 69 63 70 77
## [151] 75 76 68
head(airquality$Temp)
## [1] 67 72 74 62 56 66
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

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)

Esa es la orden básica. Pero los gráficos pueden ser modificados para incluir títulos, etiquetas, colores, etc. Por ejemplo:

hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "steelblue")

EJERCICIO 2:

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

hist(iris$Sepal.Width,breaks=5, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "#CD919E")

EJERCICIO 3:

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,breaks = "Sturges" , main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "#EEE9BF")

EJERCICIO 4:

Estudia la distribución de las temperaturas en Nueva York (usa airquality).

View(airquality)
summary(airquality)
##      Ozone           Solar.R           Wind             Temp      
##  Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00  
##  1st Qu.: 18.00   1st Qu.:115.8   1st Qu.: 7.400   1st Qu.:72.00  
##  Median : 31.50   Median :205.0   Median : 9.700   Median :79.00  
##  Mean   : 42.13   Mean   :185.9   Mean   : 9.958   Mean   :77.88  
##  3rd Qu.: 63.25   3rd Qu.:258.8   3rd Qu.:11.500   3rd Qu.:85.00  
##  Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00  
##  NA's   :37       NA's   :7                                       
##      Month            Day      
##  Min.   :5.000   Min.   : 1.0  
##  1st Qu.:6.000   1st Qu.: 8.0  
##  Median :7.000   Median :16.0  
##  Mean   :6.993   Mean   :15.8  
##  3rd Qu.:8.000   3rd Qu.:23.0  
##  Max.   :9.000   Max.   :31.0  
## 

Para guardar el gráfico, puedes 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.

png(filename = "EJERCICIO 4.png",
    width = 560, height = 560)

plot(airquality$Temp,pch=1:5,
     main ="Gráfico de dispersión de las temperaturas de New York",
     xlab = "Dato",
     ylab = "Temperatura",
     bg="brown",
     col=rainbow(10),
     cex=2,
     lwd=1)

dev.off()
## png 
##   2
file.show("EJERCICIO 4.png")

EJERCICIO 5:

Usa las funciones png y jpeg para guardar alguno de los gráficos anteriores en tu disco duro.

png(filename = "Histograma.png",
    width = 560, height = 560)

hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "steelblue")
dev.off()
## png 
##   2
file.show("EJERCICIO 4.jpeg")
## Warning in file.show("EJERCICIO 4.jpeg"): file.show(): archivo 'EJERCICIO
## 4.jpeg' no existe

EJERCICIO 6:

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))

#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 = "Gráfico de Barras de las Especies de la base Iris",
        xlab = "Especie",
        ylab = "Frecuencia",
        col = c("#76EEC6","#EE7600","#CDAD00"))

####EJERCICIO 7:

Investiga el argumento horiz de barplot para crear un gráfico de barras horizontales.

barplot(table(iris$Species),
        main = "Gráfico de Barras de las Especies de la base Iris (Horizontal)",
        xlab = "Frecuencia",
        ylab = "Especie",
        col = c("#76EEC6","#EE7600","#CDAD00"),
        horiz = TRUE)

Los diagramas de barras también 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")

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)

####EJERCICIO 8:

Representa gráficamente la anchura del sépalo contra su longitud (usando iris). Interpreta el gráfico.

hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col=palette("pastel 2"))

INTERPRETACION

El presente histograma representa la anchura del sépalo como podemos observar más de 30 observaciones de la base de datos iris tiene una anchura de 3.0 y menos de 5 observaciones tienen una anchura mayor a 4.0.

####EJERCICIO 9:

De nuevo, usa los parámetros main, xlab, ylab y col discutidos en la sección anterior para mejorar el aspecto de los gráficos anteriores.

plot(airquality$Temp, main = "Gráfico Calidad del aire-Temperatura",
     xlab = "Índice", ylab = "Temperatura", 
     col = palette("pastel 1"))
lines(airquality$Temp)

En ocasiones, cuando una de las variables tiene un orden determinado (por ejemplo, es una variable temporal) pueden utilizarse líneas para unir los puntos de un diagrama de dispersión (o, más habitualmente, reemplazarlos por ellas). Por ejemplo, utilizando el hecho de que las observaciones de airquality están ordenadas temporalmente, podemos representar la temperatura en periodo que comprende así:

plot(airquality$Temp, type = "l")

Incluso, se pueden combinar 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)

El anterior es un ejemplo de una 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")

####EJERCICIO 10:

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

Primero, creemos un gráfico de líneas con la temperatura del conjunto de datos “airquality”

plot(airquality$Temp)
lines(airquality$Temp)
abline(h = mean(airquality$Temp), col = "red")

Con el argumento h, permite graficar una linea vertical en el eje y Gráficar línea horizontal

plot(airquality$Temp)
abline(v = 20, col = "Orange")

Gráficar línea vertical y horizontal

plot(airquality$Temp)
abline(h = 65, v = 20, col = "blue")

####EJERCICIO 11:

Consulta par, 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.

par(col="skyblue",lty=3, lwd=3)
plot(iris$Petal.Length, iris$Petal.Width,main ="Caracteristicas del Sepalo")
abline(h=1, v=5)

col: Color para el fondo del rectángulo. lty: Tipo de línea a usar para el borde. lwd: Cómo definir el ancho de línea al crear un gráfico

x11()
plot(iris$Sepal.Width, iris$Sepal.Length,main = "Caracteristicas del Sepalo ", ylab = " ",
     xlab = " ", col="darkgreen")

abline(h=c(5, -3), v=2,
       col=c('blue'), lwd=5, lty='dashed')

Representación de la relación entre una variable continua y otra categórica

x11()
boxplot(iris$Sepal.Width ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la anchura del sépalo")

####EJERCICIO 12:

Identifica la observación atípica. ¿Es atípica también con respecto a otras variables?

X11()
boxplot(iris$Sepal.Width ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la anchura del sépalo")

Los iris de las plantas setosas presentan un valor atípico ya que se encuentra fuera de los bigotes del diagrama de caja.

x11()
boxplot(iris$Sepal.Length ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la longitud del sépalo")

Si comparamos la longitud de los sépalos la especie virginica presenta un valor atípico.

x11()
boxplot(iris$Petal.Length ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la longitud del Pétalo")

Si comparamos la longitud de los pétalos las especies versicolor y virgínica muestran datos atípicos.

x11()
boxplot(iris$Petal.Width ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la anchura del Pétalo")

####EJERCICIO 13:

Muestra la distribución de las temperaturas en Nueva York en función del mes.

x11()
boxplot(airquality$Temp ~ airquality$Month, col = "steelblue",
        main = "Calidad del aire \nsegún la temperatura por mes", xlab = "Mes",
        ylab = "Temperatura")