【发布时间】:2020-05-17 12:33:50
【问题描述】:
我希望使用 purr 在我的数据集上创建一个年份变量并将它们连接在一起。这个例子将说明问题和我已经厌倦了。
# files in the directory
files <- paste0("data/file_year_", 2015:2019, ".txt")
# map
files <- paste0("data_", 2013:2019, ".csv")
lst1 <- files %>%
map(~ read_csv(.x) %>%
mutate(year = str_extract(., "\\d{4}")))
现在需要将该列表合并到一个数据框中。
dat1 <- bind_rows(lst1, .id = 'grp')
但是,当我尝试创建列表时出现以下错误:
Error in mutate_(.data, .dots = compat_as_lazy_dots(...)) :
argument ".data" is missing, with no default
In addition: Warning message:
In stri_extract_first_regex(string, pattern, opts_regex = opts(pattern)) :
argument is not an atomic vector; coercing
我尝试搜索此错误,但到目前为止没有任何帮助。任何帮助将不胜感激。
【问题讨论】:
-
在您运行代码后,
lst1的每个元素是否实际上包含一个数据框?您将值分配给files两次。此外,每个版本的年份范围都不同。