3.3 Importando datos

El paquete readr, con sus funciones read_csv o read_tsv es comúnmente utilizado para importar archivos con datos a tibbles en R. Sin embargo, el paquete vroom realiza la lectura de grandes cantidades de datos con mayor rapidez.

library(readr)

Para leer datos solamente ejecutamos la función vroom(). Tenemos que asegurarnos de indicar la ruta correcta a partir de nuestro directorio de trabajo. En este caso los scripts están en el working directory y el archivo a leer se encuentra dentro de una carpeta llamada data

poblacion <- read_tsv("data/poblacion.tsv")

Observando las primeras entradas en el dataset nos aseguramos de que éste se cargó correctamente.

head(poblacion)
## # A tibble: 6 × 9
##   entidad nom_ent        mun   nom_mun     pobtot pobfem pob0_14 pob15…¹ pob65…²
##   <chr>   <chr>          <chr> <chr>        <dbl>  <dbl>   <dbl>   <dbl>   <dbl>
## 1 01      Aguascalientes 001   Aguascalie… 948990 486917  240583  639532   67941
## 2 01      Aguascalientes 002   Asientos     51536  26275   16266   31919    3331
## 3 01      Aguascalientes 003   Calvillo     58250  29687   16720   35854    5641
## 4 01      Aguascalientes 004   Cosío        17000   8708    5183   10699    1118
## 5 01      Aguascalientes 005   Jesús María 129929  65710   38303   84949    6538
## 6 01      Aguascalientes 006   Pabellón d…  47646  24269   14140   30491    2977
## # … with abbreviated variable names ¹​pob15_64, ²​pob65_mas
colnames(poblacion)
## [1] "entidad"   "nom_ent"   "mun"       "nom_mun"   "pobtot"    "pobfem"   
## [7] "pob0_14"   "pob15_64"  "pob65_mas"

Si queremos obtener las entradas de una de las columnas, es decir extraer el vector asociado a esa columna, podemos hacerlo con el signo $, similar a la sintaxis de las listas.

nom_ents <- poblacion$nom_ent

La recomendación para nombres de columnas sigue la de nombre de variables en R, snake case y la función clean_names() del paquete janitor lo hace de forma automática.

library(janitor)

poblacion <- vroom::vroom("data/poblacion.tsv")
colnames(poblacion)
## [1] "entidad"   "nom_ent"   "mun"       "nom_mun"   "pobtot"    "pobfem"   
## [7] "pob0_14"   "pob15_64"  "pob65_mas"
poblacion <- vroom::vroom("data/poblacion.tsv") %>% 
  janitor::clean_names()

colnames(poblacion)
## [1] "entidad"   "nom_ent"   "mun"       "nom_mun"   "pobtot"    "pobfem"   
## [7] "pob0_14"   "pob15_64"  "pob65_mas"