r

您所在的位置:网站首页 r语言只读取csv文件的一列 r

r

2024-07-14 02:07| 来源: 网络整理| 查看: 265

我有一个很大的 double CSV 文件(1000 万 x 500),我只想读取该文件的几千行(位于 1 到 1000 万之间的不同位置),由二进制向量 定义V 长度为 1000 万,如果我不想读取该行,则假定值为 0;如果我确实想读取该行,则假定值为 1。

如何从 data.table 包中获取 io 函数 fread 来执行此操作?我问这个问题是因为与所有其他 io 方法相比,fread 太快了。

这个问题的最佳解决方案,Reading specific rows of large matrix data file ,给出如下解:

read.csv(管道(paste0("sed -n '",paste0(c(1,which(V==1)+1),collapse="p;"),"p'C :/Data/target.csv",collapse="")),head=TRUE)

其中 C:/Data/target.csv 是大型 CSV 文件,V 是 0 或 1 的向量.

但是我注意到,这比在整个矩阵上简单使用 fread 慢几个数量级,即使 V 仅等于 1 对于总行数的一小部分。

因此,由于整个矩阵上的 fread 将主导上述解决方案,我如何将 fread (特别是 fread)与 row 结合起来采样?

这不是重复的,因为它仅与函数 fread 相关。

这是我的问题设置:

#create csv csv


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3