R readBin在每个值后跳过

R readBin在每个值后跳过,r,binary,skip,R,Binary,Skip,我有一个matlab文件,可以读取大量二进制数据,我想用一个R程序来实现这一点。我的问题是,如果R中有一个命令允许我读取许多值,但在读取每个值之后,它会在读取下一个值之前跳过一定数量的字节? matlab中的函数“fread”具有此特性。例如: A = fread(fileID,sizeA,precision,skip) tmp = fread(fid,1219704,'double',42); 这将读取1219704个8字节的双值,读取后每个值跳过42字节 在r中,我现在正在尝试: tmp

我有一个matlab文件,可以读取大量二进制数据,我想用一个R程序来实现这一点。我的问题是,如果R中有一个命令允许我读取许多值,但在读取每个值之后,它会在读取下一个值之前跳过一定数量的字节? matlab中的函数“fread”具有此特性。例如:

A = fread(fileID,sizeA,precision,skip)

tmp = fread(fid,1219704,'double',42);
这将读取1219704个8字节的双值,读取后每个值跳过42字节

在r中,我现在正在尝试:

tmp = vector()
for(k in 1:1219704)
{
   tmp2 = readBin(fid, double(), size=8, endian="little")
   tmp = c(tmp,tmp2)
   seek(fid,42,"current")
}
我的想法是创建一个循环,将1219704个双精度值中的每个双精度值逐个读取,将其添加到向量tmp中,然后使用seek函数跳过42个字节。但这需要很长时间。还有别的办法吗


谢谢大家!

R作为
data.table
包中的函数
fread
。这对你有帮助吗?没有,因为这个
fread
读取的是一个表,而不是二进制数据。