r |
您所在的位置:网站首页 › r语言只读取csv文件的一列 › r |
我有一个很大的 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 |