我有一个文件夹,里面装满了某些命名模式的csv文件(全部有4位数字)," 0001.csv"," 0002.csv"所有文件都有相同的标题和格式。
如果我想要合并所有文件或对它们进行分析。我可以这样做
all.files <- list.files(path = "/Users",pattern = ".csv")
DT <- lapply(all.files, fread # or other self-defined function)
DT <- rbindlist(DT)
但现在我想基于list.files
的某个输出执行data.table
。
dt <- data.table(Ticker = c("0001","0002","0003","0004"), Status = c("True", "True","True","False"))
> dt Ticker Status 1: 0001 True 2: 0002 True 3: 0003 True 4: 0004 False
我想在status
中合并TRUE
为dt
的文件。不是全部。因此list.files
可能不适用。
有什么建议吗?非常感谢。
答案 0 :(得分:2)
如果我能正确理解,可以这样做:
DT <- lapply(paste0(dt[Status == 'True', Ticker], '.csv'), function(x) fread(x))
DT <- rbindlist(DT)