【发布时间】:2020-05-03 10:38:11
【问题描述】:
我有以下代码来读取多个文件并将它们分别附加到一个列表中以及文件名
foo <- function(fname){
fread(fname, skip = 5, header = TRUE, sep = " ") %>%
mutate(fn = fname)
}
all <- lapply(files, FUN = foo)
读取文件后,我想在函数中插入一个条件,该条件检查文件中的某些属性失败,它将文件连同文件名一起删除。
与读取表格不严格相关,但也与其他文件相关
编辑:
我也使用here的以下有效方法:
all <- setNames(lapply(files, foo), files)
【问题讨论】:
-
顺便说一句 - 对于 data.tables 使用
:=比使用mutate和[链接更好,而不是%>% -
请注意,如果您将名称分配给您的
files向量,purrr::map_dfr会与您当前的函数执行相同的操作。 -
@dww 因为这是 R,而不是 C,我建议将重点放在 values 而不是语句上,即
return(if (condition) x[, fn := fname] else NULL),然后删除完全不必要的return。