Есть ли способ не потерять атрибуты имени списка после использования purrr::reduce
?
Пример
У меня есть список:
library(tidyverse)
l <- list(A = data_frame(ID = c(101, 102, 103),
x = c(1,2,3)),
B = data_frame(ID = c(101, 102, 103),
x = c(4,5,6)),
C = data_frame(ID = c(101, 102, 103),
x = c(7,8,9)))
Я могу присоединиться к спискам по «ID», используя reduce
, а затем использовать setNames
для именования столбцов, подобных этому.
l %>%
purrr::reduce(left_join, by = "ID") %>%
setNames(c("ID", names(l)))
Но я бы хотел взять этот список и напрямую направить его в purrr::reduce
а затем переименуйте столбцы «A», «B» и «C», не создавая объект l
, но когда я это сделаю, имена списков больше не будут доступны.
Вопрос
Что я могу сделать с кодом ниже, чтобы изменить имена столбца «x» без необходимости создавать список l
или указывать имена отдельных столбцов?
list(A = data_frame(ID = c(101, 102, 103),
x = c(1,2,3)),
B = data_frame(ID = c(101, 102, 103),
x = c(4,5,6)),
C = data_frame(ID = c(101, 102, 103),
x = c(7,8,9))) %>%
purrr::reduce(left_join, by = "ID")