Capítulo15 Tibbles
Fecha de la ultima revisión
## [1] "2025-10-06"
El tema proviene de los siguientes sitios.
English: https://r4ds.had.co.nz/tibbles.html
Español: https://es.r4ds.hadley.nz/10-tibble.html
15.2 Crear un tibble
- tibble()
Crear un tibble con la siguiente información. Una columna que tiene los valores del 1 al 8 que se llama “secuencia”, una segunda columna que tiene los siguientes valores 23,26, 24,26,27, 11,20,21 que se llama edad y una tercera columna con la siguiente información, Jose, Maria, Carol, Moncho, Liz, Maria, Jorge, Miguel, que ser llama Nombre
library(tidyverse)
#library(datos)
tibble(
secuencia = c(1:6),
edad = c(23,26, 24,26,27, NA),
nombre = c("Jose", "Maria", "Carol", "Moncho", "Liz", "Maria")
)
## # A tibble: 6 × 3
## secuencia edad nombre
## <int> <dbl> <chr>
## 1 1 23 Jose
## 2 2 26 Maria
## 3 3 24 Carol
## 4 4 26 Moncho
## 5 5 27 Liz
## 6 6 NA Maria
15.3 Crear un tribble
- tribble()
Haga un tribble con las primera 3 lineas del tibble anterior
## # A tibble: 3 × 3
## secuencia edad nombre
## <dbl> <dbl> <chr>
## 1 1 23 Jose
## 2 2 26 Maria
## 3 3 23 Carol
15.4 tibble vs. data.frame
tb = tibble(
a = lubridate::now() + runif(1e2) * 86400,
b = lubridate::today() + runif(1e2) * 30,
c = 1:100,
d = runif(1e2),
e = sample(letters, 1e2, replace = TRUE)
)
tb
## # A tibble: 100 × 5
## a b c d e
## <dttm> <date> <int> <dbl> <chr>
## 1 2025-10-06 16:28:52 2025-10-24 1 0.559 o
## 2 2025-10-06 22:58:06 2025-10-06 2 0.250 o
## 3 2025-10-06 17:51:43 2025-10-08 3 0.0653 d
## 4 2025-10-07 15:37:57 2025-10-07 4 0.573 v
## 5 2025-10-06 23:10:12 2025-10-28 5 0.651 k
## 6 2025-10-07 07:22:02 2025-10-17 6 0.581 p
## 7 2025-10-07 12:00:07 2025-10-30 7 0.0175 x
## 8 2025-10-07 11:00:06 2025-10-17 8 0.0133 f
## 9 2025-10-07 05:14:50 2025-10-20 9 0.661 c
## 10 2025-10-07 11:23:03 2025-10-29 10 0.380 y
## # ℹ 90 more rows
## a b c d e
## 1 2025-10-06 16:28:52 2025-10-24 1 0.55895788 o
## 2 2025-10-06 22:58:06 2025-10-06 2 0.24952694 o
## 3 2025-10-06 17:51:43 2025-10-08 3 0.06531608 d
## 4 2025-10-07 15:37:57 2025-10-07 4 0.57306761 v
## 5 2025-10-06 23:10:12 2025-10-28 5 0.65098699 k
## 6 2025-10-07 07:22:02 2025-10-17 6 0.58124937 p
## 7 2025-10-07 12:00:07 2025-10-30 7 0.01748210 x
## 8 2025-10-07 11:00:06 2025-10-17 8 0.01331984 f
## 9 2025-10-07 05:14:50 2025-10-20 9 0.66064715 c
## 10 2025-10-07 11:23:03 2025-10-29 10 0.38021846 y
## 11 2025-10-07 15:32:19 2025-10-28 11 0.55374044 o
## 12 2025-10-07 12:59:53 2025-10-17 12 0.57734132 r
## 13 2025-10-07 13:24:33 2025-10-08 13 0.89874595 s
## 14 2025-10-07 07:44:33 2025-10-19 14 0.02335350 s
## 15 2025-10-07 02:23:42 2025-10-29 15 0.36233644 a
## 16 2025-10-07 04:08:48 2025-10-13 16 0.79219053 c
## 17 2025-10-07 05:26:40 2025-10-13 17 0.79451792 q
## 18 2025-10-06 17:20:08 2025-10-16 18 0.03461087 h
## 19 2025-10-06 21:58:21 2025-10-07 19 0.83758986 y
## 20 2025-10-07 04:13:40 2025-10-17 20 0.08880666 h
## 21 2025-10-06 20:33:51 2025-10-19 21 0.81779321 m
## 22 2025-10-06 18:58:14 2025-11-02 22 0.88725936 k
## 23 2025-10-07 07:52:35 2025-10-07 23 0.26002925 a
## 24 2025-10-06 19:03:17 2025-10-17 24 0.31542900 t
## 25 2025-10-07 01:40:21 2025-10-11 25 0.91124396 m
## 26 2025-10-06 21:00:11 2025-10-20 26 0.69990520 u
## 27 2025-10-07 06:11:19 2025-11-04 27 0.83810166 o
## 28 2025-10-07 03:41:15 2025-10-09 28 0.39910988 q
## 29 2025-10-07 13:35:59 2025-10-29 29 0.99993174 t
## 30 2025-10-07 05:19:00 2025-10-15 30 0.66218230 y
## 31 2025-10-07 00:16:48 2025-10-10 31 0.98046836 c
## 32 2025-10-07 04:26:40 2025-10-18 32 0.13905381 o
## 33 2025-10-07 08:28:35 2025-11-01 33 0.34755612 m
## 34 2025-10-06 21:23:12 2025-10-25 34 0.99072892 t
## 35 2025-10-07 12:36:34 2025-10-28 35 0.01158322 g
## 36 2025-10-07 02:50:22 2025-10-26 36 0.59905566 w
## 37 2025-10-07 00:51:35 2025-10-26 37 0.66253655 m
## 38 2025-10-07 12:10:56 2025-10-14 38 0.81108752 p
## 39 2025-10-06 19:50:18 2025-11-02 39 0.86941914 m
## 40 2025-10-07 05:35:54 2025-10-30 40 0.18531162 v
## 41 2025-10-07 13:24:22 2025-10-10 41 0.93845374 p
## 42 2025-10-06 17:54:31 2025-10-16 42 0.98626153 o
## 43 2025-10-06 17:51:29 2025-10-29 43 0.36978729 g
## 44 2025-10-06 17:39:25 2025-10-17 44 0.40597546 h
## 45 2025-10-06 16:04:00 2025-10-08 45 0.45127090 p
## 46 2025-10-07 08:39:58 2025-10-10 46 0.83761479 d
## 47 2025-10-07 05:32:11 2025-11-04 47 0.20941751 c
## 48 2025-10-07 01:23:51 2025-10-31 48 0.99204004 y
## 49 2025-10-07 01:41:27 2025-10-07 49 0.50421065 r
## 50 2025-10-06 19:16:08 2025-10-17 50 0.33143023 g
## 51 2025-10-07 14:39:44 2025-10-16 51 0.73076078 w
## 52 2025-10-07 05:35:35 2025-10-12 52 0.46601006 v
## 53 2025-10-07 02:04:45 2025-10-26 53 0.93914242 z
## 54 2025-10-07 06:58:52 2025-11-01 54 0.88173091 s
## 55 2025-10-06 23:57:35 2025-10-30 55 0.34532379 i
## 56 2025-10-06 18:00:31 2025-10-24 56 0.58456342 l
## 57 2025-10-06 16:02:35 2025-11-01 57 0.88058255 v
## 58 2025-10-06 17:55:20 2025-10-07 58 0.22127013 v
## 59 2025-10-07 07:35:58 2025-10-24 59 0.89288290 o
## 60 2025-10-06 23:43:31 2025-10-12 60 0.02081485 y
## 61 2025-10-06 20:21:17 2025-10-22 61 0.27143203 n
## 62 2025-10-07 01:18:44 2025-10-13 62 0.95400736 c
## 63 2025-10-06 23:25:31 2025-10-14 63 0.86419811 j
## 64 2025-10-07 00:19:58 2025-10-15 64 0.25909042 i
## 65 2025-10-07 08:18:00 2025-10-16 65 0.71488890 t
## 66 2025-10-07 08:49:54 2025-10-15 66 0.14559841 m
## 67 2025-10-07 05:56:48 2025-10-20 67 0.33884110 a
## 68 2025-10-07 09:22:36 2025-10-19 68 0.85914380 c
## 69 2025-10-07 06:26:05 2025-10-27 69 0.78041364 o
## 70 2025-10-07 01:03:12 2025-10-26 70 0.83340269 v
## 71 2025-10-07 11:53:00 2025-10-27 71 0.46138001 k
## 72 2025-10-07 11:10:11 2025-10-28 72 0.95366063 x
## 73 2025-10-06 21:47:59 2025-11-02 73 0.58594067 i
## 74 2025-10-06 23:57:47 2025-10-22 74 0.07427914 i
## 75 2025-10-06 16:17:09 2025-11-03 75 0.41196391 p
## 76 2025-10-07 13:25:11 2025-10-16 76 0.64245513 l
## 77 2025-10-07 01:31:50 2025-10-19 77 0.88572561 a
## 78 2025-10-06 20:03:16 2025-11-04 78 0.27894255 z
## 79 2025-10-07 01:57:24 2025-10-26 79 0.11545121 p
## 80 2025-10-06 17:01:02 2025-11-01 80 0.27069348 w
## 81 2025-10-07 06:46:46 2025-10-07 81 0.09039557 m
## 82 2025-10-07 05:59:10 2025-11-04 82 0.84375956 u
## 83 2025-10-06 21:26:26 2025-10-18 83 0.44452948 t
## 84 2025-10-06 19:46:36 2025-10-14 84 0.17054338 a
## 85 2025-10-07 01:47:33 2025-11-04 85 0.94064577 n
## 86 2025-10-07 04:15:11 2025-10-11 86 0.55504992 s
## 87 2025-10-06 19:28:24 2025-11-03 87 0.74138904 o
## 88 2025-10-06 19:10:54 2025-10-17 88 0.69146950 m
## 89 2025-10-07 07:18:51 2025-10-28 89 0.95055655 v
## 90 2025-10-07 11:14:30 2025-11-01 90 0.50241356 h
## 91 2025-10-07 11:34:08 2025-10-31 91 0.94041471 l
## 92 2025-10-07 05:38:02 2025-10-17 92 0.66040567 e
## 93 2025-10-06 23:30:08 2025-10-22 93 0.74075930 s
## 94 2025-10-07 11:05:20 2025-10-22 94 0.49824345 q
## 95 2025-10-06 15:44:27 2025-11-03 95 0.10436335 j
## 96 2025-10-07 00:43:00 2025-10-06 96 0.06179632 g
## 97 2025-10-07 03:45:37 2025-10-15 97 0.21776393 s
## 98 2025-10-07 15:05:24 2025-10-06 98 0.15662152 x
## 99 2025-10-07 01:48:53 2025-10-24 99 0.62424786 s
## 100 2025-10-07 06:46:09 2025-10-08 100 0.39037936 c
## # A tibble: 100 × 5
## a b c d e
## <dttm> <date> <int> <dbl> <chr>
## 1 2025-10-06 16:28:52 2025-10-24 1 0.559 o
## 2 2025-10-06 22:58:06 2025-10-06 2 0.250 o
## 3 2025-10-06 17:51:43 2025-10-08 3 0.0653 d
## 4 2025-10-07 15:37:57 2025-10-07 4 0.573 v
## # ℹ 96 more rows
## [1] "2025-10-06 15:41:10 AST"
## [1] "2025-10-06"
To convert a data frame to a tibble use as.tibble
To convert a tibble to a data frame use as.data.frame
15.5 Diferencias entre un tibble y un data frame.
- Tibbles tiene un buen método de impresión que muestra solo las primeras 10 filas y todas las columnas que caben en la pantalla.
- Tibbles no admite nombres de filas. Se eliminan al convertir a tibble o al crear subconjuntos:
Operaciones aritméticas en tibbles
A diferencia de los data frame, los tibbles NO admiten operaciones aritméticas en todas las columnas. El resultado fuerza silenciosamente a un data frame.
## [1] FALSE
## [1] TRUE
## # A tibble: 3 × 3
## a b c
## <int> <int> <dbl>
## 1 1 4 8
## 2 2 5 10
## 3 3 6 12
## [1] TRUE
- Los tibbles también son más estrictos con $. Tibbles nunca realiza coincidencias parciales y generará una advertencia y devolverá NULL si la columna no existe:
## [1] 1
## [1] 1
- Para extraer una columna de un tibble, use [[. Esto es más seguro que $ porque nunca realiza coincidencias parciales:
15.6 Selección de subconjuntos de datos
## [1] 515 529 540 545 600 558 600 600 600 600 600 600 600 600 600 559 600 600 600
## [20] 600
## [1] 515 529 540 545 600 558 600 600 600 600 600 600 600 600 600 559 600 600 600
## [20] 600
## [1] 515 529 540 545 600 558 600 600 600 600 600 600 600 600 600 559 600 600 600
## [20] 600
## [1] 515 529 540 545 600 558 600 600 600 600 600 600 600 600 600 559 600 600 600
## [20] 600
## [1] 2 4 2 -1 -6 -4 -5 -3 -3 -2 -2 -2 -2 -2 -1 0 -1 0 0 1
- Ejercicios:
Hacer los ejercicios en la sección 10.5 del libro en español