У меня есть куча фреймов данных в списке.Я пытаюсь добавить новый столбец к каждому фрейму данных, указав в качестве значения имя фрейма.
Данные моего примера:
library(tidyverse)
df_2018 <- data_frame(y1 = c(1, 2, 3),
y2 = c(4, 5, 6))
df_2017 <- data_frame(y1 = c(3, 2, 1),
y2 = c(6, 5, 4))
list <- list(df_2017 = df_2017, df_2018 = df_2018)
приводит к:
> list
$df_2017
# A tibble: 3 x 2
y1 y2
<dbl> <dbl>
1 3 6
2 2 5
3 1 4
$df_2018
# A tibble: 3 x 2
y1 y2
<dbl> <dbl>
1 1 4
2 2 5
3 3 6
Желаемый результат:
> list
$df_2017
# A tibble: 3 x 3
y1 y2 year
<dbl> <dbl> <chr>
1 3 6 df_2017
2 2 5 df_2017
3 1 4 df_2017
$df_2018
# A tibble: 3 x 3
y1 y2 year
<dbl> <dbl> <chr>
1 1 4 df_2018
2 2 5 df_2018
3 3 6 df_2018
Я изучаю purrr
map()
функций, поэтому, если вы можете показать ответ с мурлыканием, дополнительные очки!
Я думаю о следующем, но это не работает:
map(list,
add_column,
~ year = names(.x))