Я согласен с комментарием Стивена Хендерсона о том, что вы не должны использовать списочные столбцы, если вы не абсолютно уверены, что они являются лучшим способом решения вашей конкретной проблемы. При этом, если вы решите использовать столбцы списка, вы можете рассмотреть возможность использования столбцов вместо фреймов данных. Tibbles - это «обновление» обычных фреймов данных. Они являются частью Tidyverse и поставляются в пакете tibble
.
Тиблы облегчают создание столбцов списка:
tibble(x = 1:3, y = list(1:5, 1:10, 1:20))
#> # A tibble: 3 x 2
#> x y
#> <int> <list>
#> 1 1 <int [5]>
#> 2 2 <int [10]>
#> 3 3 <int [20]>
Кроме того, вы можете "упаковать" и "распаковать" списки-столбцы, используя команды nest
и unnest
из пакета tidyr
. Например:
df <- tibble(
x = 1:3,
y = c("a", "d,e,f", "g,h")
)
df %>%
transform(y = strsplit(y, ",")) %>%
unnest(y)
Для получения дополнительной информации о тибле вы можете обратиться к этой виньетка .