У меня есть столбец с колонкой для путей к файлам и колонкой для имени листов (пути удалены для безопасности):
x <- structure(list(file = c("2003_2005_DataDictionary.xlsx", "2003_2005_DataDictionary.xlsx",
"2003_2005_DataDictionary.xlsx", "2003_2005_DataDictionary.xlsx",
"2003_2005_DataDictionary.xlsx", "2003_2005_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx",
"1996_2002_DataDictionary.xlsx", "1996_2002_DataDictionary.xlsx"
), sheet = c("vartable05", "vartable04", "vartable03", "valuesets05",
"valuesets04", "valuesets03", "vartable02", "vartable01", "vartable00",
"vartable99", "vartable98", "vartable97", "vartable96", "valuesets02",
"valuesets01", "valuesets00", "valuesets99", "valuesets98", "valuesets97",
"valuesets96")), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-20L))
> x
# A tibble: 20 x 2
file sheet
<chr> <chr>
1 2003_2005_DataDictionary.xlsx vartable05
2 2003_2005_DataDictionary.xlsx vartable04
3 2003_2005_DataDictionary.xlsx vartable03
4 2003_2005_DataDictionary.xlsx valuesets05
5 2003_2005_DataDictionary.xlsx valuesets04
6 2003_2005_DataDictionary.xlsx valuesets03
7 1996_2002_DataDictionary.xlsx vartable02
8 1996_2002_DataDictionary.xlsx vartable01
9 1996_2002_DataDictionary.xlsx vartable00
10 1996_2002_DataDictionary.xlsx vartable99
11 1996_2002_DataDictionary.xlsx vartable98
12 1996_2002_DataDictionary.xlsx vartable97
13 1996_2002_DataDictionary.xlsx vartable96
14 1996_2002_DataDictionary.xlsx valuesets02
15 1996_2002_DataDictionary.xlsx valuesets01
16 1996_2002_DataDictionary.xlsx valuesets00
17 1996_2002_DataDictionary.xlsx valuesets99
18 1996_2002_DataDictionary.xlsx valuesets98
19 1996_2002_DataDictionary.xlsx valuesets97
20 1996_2002_DataDictionary.xlsx valuesets96
Мне нужно прочитать каждый лист, используя read_excel()
и объединить к одному фрейму данных, однако следующий код не работает:
x %>%
map_dfr(~read_excel(path = .$file, sheet = .$sheet))
#Error in .$file : $ operator is invalid for atomic vectors
```
What am I doing wrong? I've tried imap as well with no luck.