在R中加载csv子集的有效方法
我有350个csv文件,每个文件中有10000到700000行。我想将每个文件的一个子集读入R。到目前为止,我的方法是:在R中加载csv子集的有效方法,r,dplyr,R,Dplyr,我有350个csv文件,每个文件中有10000到700000行。我想将每个文件的一个子集读入R。到目前为止,我的方法是: library(dplyr) to_load <- Sys.glob("data/*.csv") data <- data_frame(file = to_load) %>% rowwise() %>% do(read.csv(.$file) %>% filter(condition == "a")
library(dplyr)
to_load <- Sys.glob("data/*.csv")
data <- data_frame(file = to_load) %>%
rowwise() %>%
do(read.csv(.$file) %>% filter(condition == "a"))
库(dplyr)
要加载%
do(读取.csv(.$文件)%%>%筛选器(条件=“a”))
当我仅对前6个文件进行测试时,从
do()
开始的估计完成时间为3分钟,平均总共约为3小时。我的问题是是否有更有效的方法来解决这个问题。我愿意尝试任何东西。在data.table包中尝试fread
。data.table::fread
或readr::read\u csv
更好,但是如果您仍然有问题,那么也许您应该跳出R,使用awk
添加一个示例ID列粘贴
,并对这些文件进行预筛选cat
到一个文件。然后导入。当然,除非这是一项非常重要的工作。例如,如何读取多个文件(在其中,您可以使用fread
),我将检查这些文件。我已经有一段时间没上电视了。为什么你们都把这些作为评论而不是答案呢?@JoFrhwld如果我链接的答案是解决了你的问题,那就没有真正的必要了(除了获得声望点数)。然后,该问题应标记为重复问题。