Capítulo15 Tibbles
Fecha de la ultima revisión
## [1] "2024-11-07"
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:8),
edad = c(23,26, 24,26,27, 11,20,21),
nombre = c("Jose", "Maria", "Carol", "Moncho", "Liz", "Maria", "Jorge", "Miguel")
)
## # A tibble: 8 × 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 11 Maria
## 7 7 20 Jorge
## 8 8 21 Miguel
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:1e2,
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 2024-11-07 14:26:53 2024-11-25 1 0.559 o
## 2 2024-11-07 20:56:07 2024-11-07 2 0.250 o
## 3 2024-11-07 15:49:44 2024-11-09 3 0.0653 d
## 4 2024-11-08 13:35:58 2024-11-08 4 0.573 v
## 5 2024-11-07 21:08:13 2024-11-29 5 0.651 k
## 6 2024-11-08 05:20:03 2024-11-18 6 0.581 p
## 7 2024-11-08 09:58:08 2024-12-01 7 0.0175 x
## 8 2024-11-08 08:58:07 2024-11-18 8 0.0133 f
## 9 2024-11-08 03:12:51 2024-11-21 9 0.661 c
## 10 2024-11-08 09:21:04 2024-11-30 10 0.380 y
## # ℹ 90 more rows
## # A tibble: 100 × 5
## a b c d e
## <dttm> <date> <int> <dbl> <chr>
## 1 2024-11-07 14:26:53 2024-11-25 1 0.559 o
## 2 2024-11-07 20:56:07 2024-11-07 2 0.250 o
## 3 2024-11-07 15:49:44 2024-11-09 3 0.0653 d
## 4 2024-11-08 13:35:58 2024-11-08 4 0.573 v
## # ℹ 96 more rows
## [1] "2024-11-07 13:39:11 AST"
## [1] "2024-11-07"
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 aritmeticas 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
- 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
## NULL
- 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