UNIVERSIDAD CENTRAL DEL ECUADOR

                            Facultad de Ciencias Económicas

                        Colaborador: Ing. Francisco Valverde PhD

Ejercicios en R.

Realice los 13 ejercicios propuestos :

EJERCICIO 1.

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.

Funciones:
La función hist permite crear histogramas en R base. Por defecto, la función creará un hsitograma de frecuencias.
hist(iris$Sepal.Width)

NOTA: Esa es la orden básica.
Pero los gráficos pueden ser modificados para incluir títulos, etiquetas, colores, etc. Por ejemplo:
Funciones:
La función main permite agregar un título a los gráficos.
El argumento xlab permite cambiar la etiqueta de nuestros gráficos en el eje x..
El argumento ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
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.

Funciones:
La función main permite agregar un título a los gráficos.
El argumento xlab permite cambiar la etiqueta de nuestros gráficos en el eje x..
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El cáracter col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
La función xatx permite establecer y quitar las etiquetas de tick de la gráfica y añadir las nuevas etiquetas .
La función axis permite agregar eje a una gráfica, toma el lado de la trama donde el eje debe dibujarse como argumento.
?hist
## starting httpd help server ... done
h<-hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "steelblue", 
     xaxt= "n")
axis(side=1, at=h$breaks, labels=paste0((100*h$breaks), "%"))


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.

Funciones:
La función hist permite crear histogramas en R base. Por defecto, la función creará un hsitograma de frecuencias.
La función main permite agregar un título a los gráficos.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x..
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El argumento breaks controla el número de barras, celdas o contenedores del histograma.
?hist

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


EJERCICIO 4.

Estudia la distribución de las temperaturas en Nueva York (usa airquality). 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.

Funciones:
La función hist permite crear histogramas en R base. Por defecto, la función creará un hsitograma de frecuencias.
La función main permite agregar un título a los gráficos.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
La función png permite exportar los gráficos en formato png.
La función dev.offpermite cerrar el dispositivo gráfico que hemos elegido, de este modo se creará un archivo y podremos crear más gráficos después.
te<-(airquality$Temp)
hist(te, main = "Histograma de las temperaturas en New York", col = "purple4")

getwd()
## [1] "C:/Users/aryli/Desktop/Programación/Ejercicios en grupo/TALLER_15"
png("Temperaturas en New York.png")
hist(te, main = "Histograma de las temperaturas en New York")
dev.off()
## png 
##   2

EJERCICIO 5.

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

Funciones:
La función hist permite crear histogramas en R base. Por defecto, la función creará un hsitograma de frecuencias.
La función main permite agregar un título a los gráficos.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracterylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
La función png permite exportar los gráficos en formato png.
La función jpeg exporta gráficos en el formato jpeg.
La función dev.offpermite cerrar el dispositivo gráfico que hemos elegido, de este modo se creará un archivo y podremos crear más gráficos después.
png("Anchura de los sépalos.png")
hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "mediumaquamarine")
dev.off()
## png 
##   2
jpeg("Anchura de los sépalos.jpeg", quality = 100)
hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
     xlab = "anchura del sépalo", ylab = "frecuencia",
     col = "rosybrown")
dev.off()
## png 
##   2

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.

Funciones:
La función main permite agregar un título a los gráficos.
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El comando barplot() para graficas de tipo barras en R.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
# Gráfico original 

windows()
barplot(table(iris$Species))

# Gráfico modificado

library(colourpicker)
library(ggplot2)

c("#E316DC", "#15DBBD")
## [1] "#E316DC" "#15DBBD"
windows()
barplot(table(iris$Species), main = "iris: Diagrama de barras ",
        xlab = "anchura del sépalo", ylab = "Frecuencia  de datos",
        col = "#E316DC")


EJERCICIO 7.

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

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:

Funciones:
La función main permite agregar un título a los gráficos.
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El comando barplot() para graficas de tipo barras en R.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El comando horiz = asignación de manera horizontal de la gráfica de datos.
# Gráfico original
 
windows()
barplot(VADeaths[, 2], xlab = "tramos de edad", ylab = "tasa de mortalidad",
        main = "Tasa de mortalidad en Virginia\nmujer/rural")

# Gráfico horizontal
  
windows()
barplot(VADeaths[, 2], xlab = "tramos de edad", ylab = "tasa de mortalidad",
          main = "Tasa de mortalidad en Virginia\nmujer/rural",
        horiz = TRUE,col = c("#5343BF", "#E3224F", "#F0ED30", "#23E8E5"))


EJERCICIO 8.

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

Funciones:
El Comando head() despliega los principales datos de las bases registradas.
La función main permite agregar un título a los gráficos.
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El comando barplot() para graficas de tipo barras en R.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El comando horiz = asignación de manera horizontal de la gráfica de datos.
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
windows()

barplot(table(iris$Sepal.Width, iris$Sepal.Length), main = "iris: Diagrama de barras ",
        xlab = "Anchura del sépalo", ylab = "longitud del sépalo",
        col = "#BAE61C")


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.

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 asi:
Funciones:
El Comando head() despliega los principales datos de las bases registradas.
La función main permite agregar un título a los gráficos.
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El comando barplot() para graficas de tipo barras en R.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El comando horiz = asignación de manera horizontal de la gráfica de datos.
El comando plot() genera gráficas de dispersión de datos.
# EJEMPLO 1

# Gráfico original 

windows()
barplot(VADeaths[, 2], xlab = "tramos de edad", ylab = "tasa de mortalidad",
        main = "Tasa de mortalidad en Virginia\nmujer/rural")

# Gráfico modificado

windows()

windows()
barplot(VADeaths[, 2], xlab = "tramos de edad", ylab = "tasa de mortalidad",
        main = "Tasa de mortalidad en Virginia\nmujer/rural",
        col=c("#EBE81E", "#E622CC", "#2F20D6", "#F51B38","#15DBBD"))

# EJEMPLO 2

# Gráfico original 

windows()
plot(cars$speed, cars$dist)

# Gráfico modificado

windows()
plot(cars$speed, cars$dist,main = "Gráfico de disperción", xlab = "Disperción", 
     ylab = "Frecuencias"
     ,col=c("#EBE81E", "#E622CC", "#2F20D6", "#F51B38"))

# EJEMPLO 3

# Gráfico original

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

# Gráfico modificado

windows()
plot(airquality$Temp, type = "l", main = "Gráfico de disperción (Diagrama)", xlab = "Disperción de datos", 
     ylab = "Frecuencias"
     ,col=c( "#2F20D6"))


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.

Funciones:
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El cáracterxlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
La función abline agregar una o más líneas rectas a una gráfica.
El comando plot() genera gráficas de dispersión de datos.
El comando lwd en R significa ancho de línea. Al crear una gráfica en R, el lwd define el ancho de una línea. Es un ancho de línea relativo al predeterminado (default=1).
# Gráfico original.

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

#Gráfico modificado.

windows()

plot(airquality$Temp, type = "l")
abline(v = 50, 
       col = "red",            
       ylab = "dashed",         
       lwd = 5) 
abline( h = 80, 
       col = "blue",            
       xlab = "dashed",         
       lwd = 5) 


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

Funciones:
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
El comando plot() genera gráficas de dispersión de datos.
El comando lwd en R significa ancho de línea. Al crear una gráfica en R, el lwd define el ancho de una línea. Es un ancho de línea relativo al predeterminado (default=1).
El argumento lty se puede utilizar para especificar el tipo de línea.
#Gráfico original.

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

#Grafico con la función abline.

windows()
par(bg = "sky blue") 
plot(airquality$Temp, type = "l",
     col= "white",
     lty = "dashed",
     lwd = 0.75)


EJERCICIO 12.

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

Funciones:
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
El comando boxplot()son los diagramas de cajas (boxplot) estudian la distribución de una variable continua en función de una variable categórica ya que están emparentados con los histogramas porque resumen la distribución de una variable continua.

. ##### El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.

La función main permite agregar un título a los gráficos.
El argumento stripchartdel método jitter evitará dibujar sobre los datos atípicos.
El argumento pchson los símbolos gráficos usados cuando se muestran puntos de datos.
#Gráfico Original.

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

#Gráfico modificado.


windows()
boxplot(iris$Sepal.Width ~ iris$Species, col = "gray",
        main = "Especies de iris\nsegún la anchura del sépalo",
        )
stripchart(iris$Sepal.Width ~ iris$Species, method = "jitter", pch = 19
             , add = TRUE, col = "blue")

#Sí encontramos valores atípicos con respecto a las otras variables que se 
#pueden obsevar de color azul en los graficos de caja o bigote.

EJERCICIO 13.

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

Funciones:
El comando windows() despliega una ventana para observar gráficas para mejor visualización.
La función hist permite crear histogramas en R base. Por defecto, la función creará un hsitograma de frecuencias.
El argumento col permite principalmente para cambiar el color de los objetos de los gráficos, especificando el nombre del color.
La función main permite agregar un título a los gráficos.
El cáracter ylab permite cambiar la etiqueta de nuestros gráficos en el eje y.
El cáracter xlab permite cambiar la etiqueta de nuestros gráficos en el eje x.
windows()
hist(airquality$Month, col = "cyan",
        main = "Tempraturas en Nueva York",
        xlab="Mes", ylab= "Temperaturas")