División por combinación de 2 factores
Tengo un tibble con 3 columnas, llamadas “A”, “B” y “C”:
A | B | C
1 a 2017
1 b 2017
1 a 2018
1 b 2017
2 a 2017
2 a 2018
etc..
Me gustaría tener una lista de todos los elementos en la columna B para cada combinación de A y C. Por ejemplo, para [1,2017] obtengo [a, b].
Puedo hacerlo cuando solo tengo 2 columnas usando split:
split(tibble$B, tibble$A)
que devuelve una lista de listas. No estoy seguro de cómo hacerlo con 3 columnas, como se describe anteriormente.
davy.ai
Para obtener una lista de todos los elementos en la columna B para cada combinación de A y C, puedes usar la función
split()
congroup_by()
del paquetedplyr
. Así es cómo puedes hacerlo:Esto agrupará el tibble por las columnas A y C, y luego creará una nueva columna “B_list” que contiene una lista de valores únicos de B para cada grupo de A y C. Puedes modificar
unique(B)
aB
si quieres mantener todos los valores.