En el siguiente texto podremos encontrar una serie de códigos elaborados en el programa Rstudio que darán solución a un determinado ejercicio enfocados principalmente en la creación de gráficos.
Inspecciona la columna Temp (temperatura) del conjunto de datos airquality:
tail(airquality)
summary(airquality)
hist(airquality$Temp)
hist(airquality$Temp, main = "Histograma de la calidad del aire",
xlab = "Temperatura del aire", ylab = "Frecuencia",
col = "pink")
##EJERCICIO 1: Histograma
tail(airquality)
summary(airquality)
hist(airquality$Temp)
hist(airquality$Temp, main = "Histograma de la calidad del aire",
xlab = "Temperatura del aire", ylab = "Frecuencia",
col = "pink")
## Ozone Solar.R Wind Temp Month Day
## 148 14 20 16.6 63 9 25
## 149 30 193 6.9 70 9 26
## 150 NA 145 13.2 77 9 27
## 151 14 191 14.3 75 9 28
## 152 18 131 8.0 76 9 29
## 153 20 223 11.5 68 9 30
## 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
##
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
##EJERCICIO 2: Histograma
?hist
## starting httpd help server ... done
El número de bins también es parametrizable. Examina otra vez la página de ayuda para modificar el valor por defecto.
windows()
hist(iris$Sepal.Width)
windows()
hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
xlab = "temperaturas", ylab = "frecuencia",
col = "yellow", breaks = 2)
##EJERCICIO 3: Histograma
#Antes
windows()
hist(iris$Sepal.Width)
#Despues
windows()
hist(iris$Sepal.Width, main = "iris: histograma de la anchura de los sépalos",
xlab = "temperaturas", ylab = "frecuencia",
col = "yellow", breaks = 2)
Estudia la distribución de las temperaturas en Nueva York (usa airquality)
Realizamos un summary para conocer a detalle que columnas debemos tomar para nuestro gráfico
summary(airquality)
windows()
hist(airquality$Temp)
windows()
hist(airquality$Temp, main = "airquality: histograma de la temperatura",
xlab = "anchura del sépalo", ylab = "frecuencia",
col = "steelblue")
##EJERCICIO 4: Histograma
summary(airquality)
#Antes
windows()
hist(airquality$Temp)
#Despues
windows()
hist(airquality$Temp, main = "airquality: histograma de la temperatura",
xlab = "anchura del sépalo", ylab = "frecuencia",
col = "steelblue")
## 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
##
Usa las funciones png y jpeg para guardar alguno de los gráficos anteriores en tu disco duro:
png(filename = "histograma.png", width = 800, height = 600)
Nota: estos archivos se guardaran en la carpeta que estemos trabajando
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()
##EJERCICIO 5: Guardar el Gráfico como imagen
View(airquality)
png(filename = "histograma.png", width = 800, height = 600)
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()
file.show("histograma.png")
## png
## 2
Usa los parámetros main, xlab, ylab y col discutidos en la sección anterior para mejorar el aspecto de este gráfico:
windows()
barplot(table(iris$Species))
windows()
barplot(table(iris$Species),
xlab = "Especies", ylab = "Frecuencia", main = "Histograma de Especies",
col = c("orange","Blue","Green"))hist(airquality$Temp, main = "Histograma de la calidad del aire",
xlab = "Temperatura del aire", ylab = "Frecuencia",
col = "pink")
##EJERCICIO 6: barplot
#Antes
windows()
barplot(table(iris$Species))
#Despues
windows()
barplot(table(iris$Species),
xlab = "Especies", ylab = "Frecuencia", main = "Histograma de Especies",
col = c("orange","Blue","Green"))
Investiga el argumento horiz de barplot para crear un gráfico de barras horizontales.
windows()
barplot(table(iris$Species),
xlab = "Especies", ylab = "Frecuencia", main = "Histograma de Especies",
col = c("orange","Blue","Green"),
horiz = TRUE)
##EJERCICIO 7:barplot(parámetro horiz)
windows()
barplot(table(iris$Species),
xlab = "Especies", ylab = "Frecuencia", main = "Histograma de Especies",
col = c("orange","Blue","Green"),
horiz = TRUE)
Representa gráficamente la anchura del sépalo contra su longitud (usando iris). Interpreta el gráfico.
windows()
plot(iris$Sepal.Width, iris$Sepal.Length)
##EJERCICIO 8: Gráfico de Dispersión
windows()
plot(iris$Sepal.Width, iris$Sepal.Length)
De nuevo, usa los parámetros main, xlab, ylab y col discutidos en la sección anterior para mejorar el aspecto del gráfico anterior.
1.Usamos el código anterior y le aumentamos los parámetros que me permiten modificar el nombre del gráfico, el nombre de los ejes
plot(iris$Sepal.Width, iris$Sepal.Length,
xlab="Ancho del petalo", ylab="Longitud del petalo",
main="Anchura vs Longitud", col="black")
##EJERCICIO 9: Gráfico de Dispersión
plot(iris$Sepal.Width, iris$Sepal.Length,
xlab="Ancho del petalo", ylab="Longitud del petalo",
main="Anchura vs Longitud", col="black")
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.
?abline
windows()
plot(airquality$Temp)
lines(airquality$Temp)
abline (h = mean (airquality$Temp), lwd = 2)
windows()
abline (h = mean (airquality$Temp) + sd (airquality$Temp), col = 'steelblue', lwd = 3, lty = 2)
windows()
abline (h = mean (airquality$Temp) - sd (airquality$Temp), col = 'steelblue', lwd = 3, lty = 2)
##EJERCICIO 10: Comando abline
?abline
# crear una línea horizontal en el valor medio de y
windows()
plot(airquality$Temp)
lines(airquality$Temp)
abline (h = mean (airquality$Temp), lwd = 2)
#líneas horizontales con una desviación estándar por encima y por debajo del valor medio
windows()
plot(airquality$Temp)
lines(airquality$Temp)
abline (h = mean (airquality$Temp) + sd (airquality$Temp), col = 'steelblue', lwd = 3, lty = 2)
windows()
plot(airquality$Temp)
lines(airquality$Temp)
abline (h = mean (airquality$Temp) - sd (airquality$Temp), col = 'steelblue', lwd = 3, lty = 2)
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.:
?par
windows()
par(ann=FALSE)
curve(dchisq(x, df=1), col='salmon1', lty=4,lwd=4,
main='Chi cuadrada',
xlab='x', ylab='Densidad')
##EJERCICIO 11: Comando par
?par
windows()
par(ann=FALSE)
curve(dchisq(x, df=1), col='salmon1', lty=4,lwd=4,
main='Chi cuadrada',
xlab='x', ylab='Densidad')
Identifica la observación atípica de la base iris.Identificar si ¿Es atípica también con respecto a otras variables?
windows()
boxplot(iris$Sepal.Width ~ iris$Species, col = "gray",
main = "Especies de iris\nsegún la anchura del sépalo")
~~~ windows() boxplot(iris\(Sepal.Length ~ iris\)Species, col = “gray”, main = “Especies de irisla longitud del sépalo”)
windows() boxplot(iris\(Petal.Length ~ iris\)Species, col = “gray”, main = “Especies de irisla longitud del Pétalo”)
windows() boxplot(iris\(Petal.Width ~ iris\)Species, col = “gray”, main = “Especies de irisla anchura del Pétalo”) ___
##EJERCICIO 12: Diagrama de Caja o Bigotes
windows()
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 encuetra fuera de los bigotes del diagrama de caja
windows()
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 sepalos la especie virginica presenta un valor atípico
windows()
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 petalos las especies versicolor y virgínica muestran datos atípicos
windows()
boxplot(iris$Petal.Width ~ iris$Species, col = "gray",
main = "Especies de iris\nsegún la anchura del Pétalo")
#Si comparamos la longitud de los petalos la especie setosa muestran dos datos atípicos