Да, используя пакет tidyr, но данные уже должны быть в одном кадре, например ::1001*
# Give each a dataframe a column with the appropriate name.
bill_dist$animal <- "bill"
joe_dist$animal <- "joe"
sue_dist$animal <- "sue"
# Bind dataframes together.
dist_df <- rbind(bill_dist, joe_dist, sue_dist)
dist_df
#### OUTPUT ####
# A tibble: 9 x 4
day dist date animal
<int> <dbl> <date> <chr>
1 1 100 2018-10-04 bill
2 2 150 2018-11-04 bill
3 3 125 2018-12-04 bill
4 1 130 2018-10-04 joe
5 2 110 2018-11-04 joe
6 3 90 2018-12-04 joe
7 1 160 2018-10-04 sue
8 2 155 2018-11-04 sue
9 3 140 2018-12-04 sue
Этот тип "длинного" фрейма данных, вероятно, более полезен, чем вложенный фрейм данных, т. Е. Им легче манипулировать для анализа, поэтому попробуйте придерживаться этого. Тем не менее, когда у вас есть этот фрейм данных, вы можете запустить следующее, чтобы получить вложенный фрейм данных:
library(tidyr)
nested_dist_df <- nest(dist_df, -animal)
nested_dist_df
#### OUTPUT ####
# A tibble: 3 x 2
animal data
<chr> <list>
1 bill <tibble [3 × 3]>
2 joe <tibble [3 × 3]>
3 sue <tibble [3 × 3]>
Теперь вы можете получить доступ к отдельным фреймам данных, используя синтаксис [[
:
nested_dist_df[[1, 2]]
#### OUTPUT ####
# A tibble: 3 x 3
day dist date
<int> <dbl> <date>
1 1 100 2018-10-04
2 2 150 2018-11-04
3 3 125 2018-12-04