У меня есть набор данных, который был предоставлен мне в форме .xlsx с несколькими рабочими книгами с несколькими листами с одинаковыми именами и похожими столбцами данных на этих листах. Я хочу со временем объединить таблицы данных с одинаковыми именами и провести анализ.
Поскольку в рабочих книгах много лет за несколько лет, я хочу эффективно объединить данные, формат, анализ и т. Д. Я новичок в списках, но успешно прочитал данные, но у меня возникли проблемы с настройкой и связыванием , Я сделал следующие фиктивные данные и скрипт:
#tlm2009
b1<-c('a', 'b', 'c')
b2<- c(4, 2, 3)
hab<-data.frame(b1,b2)
c1<-c('a', 'b', 'c', 'd')
c2<- c(1, 2, 3, 4)
raw<-data.frame(c1,c2)
tlm2009<-list(hab,raw)
#tlm2010
b1<-c('a', 'b', 'c','d')
b2<- c(1, 2, 3, 4)
hab<-data.frame(b1,b2)
c1<-c('a', 'b', 'c', 'd', "e")
c2<- c(1, 2, 3, 4, 5)
raw<-data.frame(c1,c2)
tlm2010<-list(hab,raw)
my.list<-list(tlm2009,tlm2010)
Затем я запустил следующий код для извлечения 'hab' и или 'raw', но он не работает
library(tidyverse)
unlist(my.list) %>%
data.frame(val = .) %>%
filter(str_detect(id, "(hab|raw)"))
и
library(purrr)
map(transpose(my.list),~map_dfc(.x,"hab"))
и получите следующую ошибку для транспонирования:
Ошибка в транспонировании (my.list): элемент 1 ввода списка не является атомным вектором
Так что я хотел бы, чтобы все подмножество «хабов» и присоединились, я еще не рассматривал присоединение, так как не перебрал подмножество. Любая помощь будет оценена.