Explorar
Cuando tenemos delante un marco de datos lo primero que hay que preguntarse son cuestiones generales sobre su estructura. Por ejemplo:
- ¿Cuál es la unidad de análisis?
- ¿Cuántas observaciones tiene?
- ¿Cuántas columnas / variables tiene? ¿Cuáles son estas variables? ¿De qué tipo son?
En este apartado exploraremos el marco de datos gapminder
que se encuentra dentro del paquete que lleva el mismo nombre.
#recordad que los paquetes tienen que estar previamente instalados
library(gapminder)
library(dplyr)
Exploración del marco de datos
Podemos imprimir el marco de datos simplemente tecleando el nombre gapminder
o bien visualizar las seis primeras filas con head(gapminder)
. Con tail(gapminder)
visualizaremos las últimas seis filas.
head(gapminder)
country | continent | year | lifeExp | pop | gdpPercap |
---|---|---|---|---|---|
Afghanistan | Asia | 1952 | 28.801 | 8425333 | 779.4453 |
Afghanistan | Asia | 1957 | 30.332 | 9240934 | 820.8530 |
Afghanistan | Asia | 1962 | 31.997 | 10267083 | 853.1007 |
Afghanistan | Asia | 1967 | 34.020 | 11537966 | 836.1971 |
Afghanistan | Asia | 1972 | 36.088 | 13079460 | 739.9811 |
Afghanistan | Asia | 1977 | 38.438 | 14880372 | 786.1134 |
En marco de datos de dimensiones considerables podremos ver más información si los visualizamos de forma horizontal, con las columnas a la izquierda y las filas arriba. Podemos hacerlo con el paquete str()
o bien, preferiblemente, con el paquete glimpse()
:
glimpse(gapminder)
## Rows: 1,704
## Columns: 6
## $ country <fct> "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", …
## $ continent <fct> Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, …
## $ year <int> 1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1997, …
## $ lifeExp <dbl> 28.801, 30.332, 31.997, 34.020, 36.088, 38.438, 39.854, 40.8…
## $ pop <int> 8425333, 9240934, 10267083, 11537966, 13079460, 14880372, 12…
## $ gdpPercap <dbl> 779.4453, 820.8530, 853.1007, 836.1971, 739.9811, 786.1134, …
En cualquier caso, para la exploración de marcos de datos siempre vendrá bien acompañarnos de su libro de códigos, que nos aportará información detallada de sus características.
- En los marcos de datos procedentes de paquetes, como es el caso de
gapminder
, llevan incorporados en algunas ocasiones un pequeño libro de códigos. Lo obtendremos tecleando?gapminder
. - En los marcos de datos que proceden de otras bases de datos, normalmente deberemos descargar el libro de códigos de la misma web.
Exploración de variables
Para observar el contenido de una variable debemos introducir nombre de la base de datos, seguido del símbolo $
y del nombre de la variable en cuestión:
gapminder$country
Con gapminder$country
obtendremos un vector con todas las observaciones de la variable. Normalmente preferiremos información simplificada, por lo que aplicaremos alguna función como las siguientes:
- Vemos los valores únicos de una variable con
unique()
(devuelve una). - Vemos la longitud de un vector con
length()
- Vemos el número de categorías diferentes de una variable con
distinct()
(devuelve un marco de datos). - Vemos el número de valores únicos de una variable con
n_distinct()
. - Vemos la frecuencia de valores para cada categoría de una variable con
count()
Probad los siguientes códigos:
unique(gapminder$year)
length(gapminder$year)
n_distinct(gapminder$continent)
distinct(gapminder, continent)
count(gapminder, continent)
Una función que puede resultar muy útil es summary()
, que nos devuelve los estadísticos descriptivos de todo el marco de datos o bien de una variable en concreto. Si pedimos el sumario de todo el marco de datos con summary()
, nos devuelve el sumario de todas las variables.
summary(gapminder)
## country continent year lifeExp
## Afghanistan: 12 Africa :624 Min. :1952 Min. :23.60
## Albania : 12 Americas:300 1st Qu.:1966 1st Qu.:48.20
## Algeria : 12 Asia :396 Median :1980 Median :60.71
## Angola : 12 Europe :360 Mean :1980 Mean :59.47
## Argentina : 12 Oceania : 24 3rd Qu.:1993 3rd Qu.:70.85
## Australia : 12 Max. :2007 Max. :82.60
## (Other) :1632
## pop gdpPercap
## Min. :6.001e+04 Min. : 241.2
## 1st Qu.:2.794e+06 1st Qu.: 1202.1
## Median :7.024e+06 Median : 3531.8
## Mean :2.960e+07 Mean : 7215.3
## 3rd Qu.:1.959e+07 3rd Qu.: 9325.5
## Max. :1.319e+09 Max. :113523.1
##
Finalmente, una herramienta exploratoria que también podemos considerar es la de crear visualizaciones rápidas de cada variable. Podemos utilizar las funciones hist()
, plot()
o boxplot()
. A continuación podemos ver algunos ejemplos:
hist(gapminder$lifeExp)
plot(gapminder$continent)
plot(gapminder$gdpPercap, gapminder$lifeExp)
boxplot(gapminder$continent, gapminder$lifeExp)