Descripción
El anidamiento es implícitamente una operación de resumen: obtiene una fila para cada grupo definido por las columnas no anidadas. Esto es útil junto con otros resúmenes que funcionan con conjuntos de datos completos, sobre todo modelos.
Información Adicional
Instalación del paquete
install.packages("dplyr")
install.packages("tidyr")
Carga de los paquetes
library(dplyr) # for %>% , group_by()
library(tidyr) # for nest()
Creación del marco de datos
df <-
data.frame(
individuo = c("i1", "i1", "i2", "i2"),
gen_a = c(1, 2, 2, 2),
gen_b = c(3, 3, 1, 3),
gen_c = c(4, 4, 1, 2))
Agrupamiento por “individuo”
df <-
df %>%
group_by(individuo) %>%
nest()
df$data
## [[1]]
## # A tibble: 2 × 3
## gen_a gen_b gen_c
## <dbl> <dbl> <dbl>
## 1 1 3 4
## 2 2 3 4
##
## [[2]]
## # A tibble: 2 × 3
## gen_a gen_b gen_c
## <dbl> <dbl> <dbl>
## 1 2 1 1
## 2 2 3 2
Desagrupamiento de los datos
df <-
df %>%
unnest(cols = c(data))
df
## # A tibble: 4 × 4
## # Groups: individuo [2]
## individuo gen_a gen_b gen_c
## <chr> <dbl> <dbl> <dbl>
## 1 i1 1 3 4
## 2 i1 2 3 4
## 3 i2 2 1 1
## 4 i2 2 3 2