Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中加载csv子集的有效方法_R_Dplyr - Fatal编程技术网

在R中加载csv子集的有效方法

在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")

我有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"))
库(dplyr)
要加载%
do(读取.csv(.$文件)%%>%筛选器(条件=“a”))

当我仅对前6个文件进行测试时,从
do()
开始的估计完成时间为3分钟,平均总共约为3小时。我的问题是是否有更有效的方法来解决这个问题。我愿意尝试任何东西。

在data.table包中尝试
fread
data.table::fread
readr::read\u csv
更好,但是如果您仍然有问题,那么也许您应该跳出R,使用
awk
添加一个示例ID列
粘贴
,并对这些文件进行预筛选
cat
到一个文件。然后导入。当然,除非这是一项非常重要的工作。例如,如何读取多个文件(在其中,您可以使用
fread
),我将检查这些文件。我已经有一段时间没上电视了。为什么你们都把这些作为评论而不是答案呢?@JoFrhwld如果我链接的答案是解决了你的问题,那就没有真正的必要了(除了获得声望点数)。然后,该问题应标记为重复问题。