3.2 Tibbles
La estrcutura de datos principal en el universo tidyverse, es el tibble. Son data.frames
pero
con ciertas mejoras y cambios que facilitan trabajar con ellos. Algunas de sus diferencias principales son:
- Al leer un tibble no se cambia el tipo de sus inputs (
stringsAsFactors
endata.frames
) - No se cambian los nombres de las variables, aunque sean nombres de variables no válidos en R o non-syntatic
- No tienen
row names
- Por default se imprimen solamente las primeras 10 filas y las columnas que quepan en la consola, en lugar de imprimir
todos los datos como lo hacen los
data.frames
- La extracción de valores utilizando
[[
y$
es menos común.
Para trabajar con tibbles se requiere el paquete tibble
.
library(tibble)
Las diferencias en el formato de impresión podemos verlas usando el dataset iris
.
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
as_tibble(iris)
## # A tibble: 150 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # … with 140 more rows
Y también es posible crear nuestros propios tibbles de forma explícita
<- tibble(x = 1:8,
mi_tbl y = x*2,
z = rep(c("a1", "b1"), 4))
mi_tbl
## # A tibble: 8 × 3
## x y z
## <int> <dbl> <chr>
## 1 1 2 a1
## 2 2 4 b1
## 3 3 6 a1
## 4 4 8 b1
## 5 5 10 a1
## 6 6 12 b1
## 7 7 14 a1
## 8 8 16 b1