Я пытаюсь объединить кадры данных, которые встроены в список, с помощью pmap.
library(purrr)
library(plyr)
# Create a list of 5 data frames
create_df <- function(){
map(1:5, ~ data.frame(country = c("USA", "CHINA", "JAPAN", "FRANCE"),
col = sample.int(100, 4))
)
}
# Create a list of lists
list_of_list_of_dataframes <- map(1:3, ~ create_df())
# join the first element of the 3 lists together.
list_of_dataframes <- pmap(list_of_list_of_dataframes, join_all, by = 'country', type = 'left')
Проблема в том, что эта join_all
функция из plyr, похоже, не работает. Я получаю ошибку:
Error in .f(.l[[c(1L, i)]], .l[[c(2L, i)]], .l[[c(3L, i)]], ...) :
unused argument (.l[[c(3, i)]])
Я могу сделать list_of_dataframes <- pmap(list_of_list_of_dataframes, cbind)
, чтобы связать кадры данных вместе, но он не удаляет столбцы индекса, которые я тоже сопоставляю, и предполагает, что порядок левых столбцов одинаков.