R cuenta con algunos set de datos cargados con ls cuales se puede trabajar para realizar ejemplos.
Para acceder al conjunto de datos disponibles de R se utiliza la siguiente función.
data()
Se despliega una lista con los diferentes set de datos por ejemplo:
AirPassengers Monthly Airline Passenger Numbers 1949-1960
JohnsonJohnson Quarterly Earnings per Johnson & Johnson Share
Titanic Survival of passengers on the Titanic
Para el suguiente ejercicio se utilizará el set de datos de “airquality”
data("airquality")
Creamos el objeto “datos” que contiene el set de datos “airquality”
datos <- airquality
Explora la estructura del conjunto de datos (“dim”, “names”, “str”, “head”, “tail”)
dim(datos)
## [1] 153 6
names(datos)
## [1] "Ozone" "Solar.R" "Wind" "Temp" "Month" "Day"
str(datos)
## 'data.frame': 153 obs. of 6 variables:
## $ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ...
## $ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ...
## $ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
## $ Temp : int 67 72 74 62 56 66 65 59 61 69 ...
## $ Month : int 5 5 5 5 5 5 5 5 5 5 ...
## $ Day : int 1 2 3 4 5 6 7 8 9 10 ...
Obtiene los 8 primeros registros que se encuentran en el data frame
head(datos, n = 8L)
## 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
## 7 23 299 8.6 65 5 7
## 8 19 99 13.8 59 5 8
tail(datos, n = 8L)
## Ozone Solar.R Wind Temp Month Day
## 146 36 139 10.3 81 9 23
## 147 7 49 10.3 69 9 24
## 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
Realiza un resumen numérico de las distintas variables del conjunto de datos.
summary(datos)
## 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
##
Calcula la varianza (“var”) y desviación típica (“sd”) de la variable “Wind” y “Temp”
Para el cálculo de la varianza se utiliza la funcion “var” invocando el objeto “datos”
var(datos$Wind)
## [1] 12.41154
var(datos$Temp)
## [1] 89.59133
Para el cálculo de la desviación se utiliza la funcion “sd” invocando el objeto “datos”.
sd(datos$Wind)
## [1] 3.523001
sd(datos$Temp)
## [1] 9.46527
sqrt(var(datos$Wind))
## [1] 3.523001
sqrt(var(datos$Temp))
## [1] 9.46527
Crea un objeto llamado “datos.table” que contenga una tabla de frecuencias de la variable “Ozone”
datos.table <- table(datos$Ozone)
datos.table
##
## 1 4 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 27
## 1 1 1 3 1 3 1 3 2 4 4 4 4 1 4 4 1 6 2 1
## 28 29 30 31 32 34 35 36 37 39 40 41 44 45 46 47 48 49 50 52
## 3 1 2 1 3 1 2 2 2 2 1 1 3 2 1 1 1 1 1 1
## 59 61 63 64 65 66 71 73 76 77 78 79 80 82 84 85 89 91 96 97
## 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2
## 108 110 115 118 122 135 168
## 1 1 1 1 1 1 1
Realiza un histograma (“hist”) de la variable “Ozone”
hist(datos$Ozone)
barplot(table(datos$Ozone))
Realiza un gráfico de cajas (“boxplot”) de la variablen “Temp”," Wind" y “Ozone”
boxplot(datos$Temp)
boxplot(datos$Wind)
boxplot(datos$Ozone)
Realiza un gráfico de dispersión (“plot”) que relacione las variables “Ozone” y “Temp”
plot(datos$Ozone, datos$Temp)
Calcula la covarianza (“cov”) entre las variables “Wind” y “Temp”
cov(datos$Wind, datos$Temp)
## [1] -15.27214
##Covarianza del conjunto de datos numerico
datos[is.na(datos)] <- 0
Realiza una tabla de covarianzas con las 4 variables numéricas del conjunto de datos.
cor(datos[,1:4])
## Ozone Solar.R Wind Temp
## Ozone 1.0000000 0.22722545 -0.47474258 0.5137068
## Solar.R 0.2272255 1.00000000 -0.02631882 0.2859638
## Wind -0.4747426 -0.02631882 1.00000000 -0.4579879
## Temp 0.5137068 0.28596384 -0.45798788 1.0000000
Realiza un análisis numérico de la variable “Ozone” segun la variable “Month” (con la función “aggregate”)
aggregate(datos$Ozone ~ datos$Month, summary, data = datos)
## datos$Month datos$Ozone.Min. datos$Ozone.1st Qu. datos$Ozone.Median
## 1 5 0.000000 6.500000 14.000000
## 2 6 0.000000 0.000000 0.000000
## 3 7 0.000000 18.000000 50.000000
## 4 8 0.000000 18.500000 44.000000
## 5 9 0.000000 14.500000 22.000000
## datos$Ozone.Mean datos$Ozone.3rd Qu. datos$Ozone.Max.
## 1 19.806452 29.000000 115.000000
## 2 8.833333 12.750000 71.000000
## 3 49.580645 78.000000 135.000000
## 4 50.290323 77.000000 168.000000
## 5 30.400000 35.000000 96.000000
Realiza un diagrama de cajas (“boxplot”) de la variable “Sepal.Length” según el tipo de especie
boxplot(datos$Ozone ~ datos$Month, data = datos)
Guarda el gráfico anterior en un fichero .pdf con el nombre “boxplot_airquality”
pdf("boxplot.pdf")
boxplot(datos$Ozone ~ datos$Month, data = datos)
graphics.off()
Realiza una matriz de gráficos de dispersión (“pairs” o “plot”) sobre el conjunto de datos
plot(datos)
Crea un objeto llamado “datos.julio” filtrando la variable “Month”
datos.julio <- datos[datos$Month == '7' , ]
Crea un objeto llamado “datos.1” con las observaciones con “Ozone” mayor o igual a 30
datos.1 <- datos[datos$Ozone >= 30 , ]
Sobre el conjunto “datos” crea una variable llamada “division” que divida “Ozone” entre “Temp”
division <- datos$Ozone / datos$Temp
Para eliminar la columna “Day”
datos <- datos[,-6]