Exploración de un conjunto de datos

Definición de un conjunto de datos

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

Análisis Exploratorio Multidimensional

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

Resumen Numérico

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

Cálculo de Varianza y Desviación Típica

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

Tabla de Frecuencias

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

Histograma

Realiza un histograma (“hist”) de la variable “Ozone”

hist(datos$Ozone)

Gráfico de Barras

barplot(table(datos$Ozone))

Boxplot

Realiza un gráfico de cajas (“boxplot”) de la variablen “Temp”," Wind" y “Ozone”

boxplot(datos$Temp)

boxplot(datos$Wind)

boxplot(datos$Ozone)

Análisis Exploratorio Multidemensional

Realiza un gráfico de dispersión (“plot”) que relacione las variables “Ozone” y “Temp”

plot(datos$Ozone, datos$Temp)

Covarianza entre dos variables

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)

Guardar en PDF

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

Gráficos de dispersión

Realiza una matriz de gráficos de dispersión (“pairs” o “plot”) sobre el conjunto de datos

plot(datos)

Filtrado y Manipulación de Variables

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]