按部分

时间:2016-03-23 13:30:47

标签: r

有没有办法如何通过部分将二进制文件读入R?

使用readBin,您可以指定要读取的记录数,但是是否可以读取特定位置的记录?

我需要阅读和分析有限PC内存的大文件。

1 个答案:

答案 0 :(得分:3)

使用seek()功能,就像在C程序中一样。

制作测试文件:

> cat(LETTERS,file="letters.txt")

看看它是什么 - 大写与空间sep:

> system("cat letters.txt") # unix only
 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

打开:

> con = file("letters.txt","rb")

去某个地方读一些:

> seek(con,3)
[1] 0
> readBin(con,"raw",10)
 [1] 20 43 20 44 20 45 20 46 20 47

这些是ASCII码。去其他地方再看几个:

> seek(con,7)
[1] 13
> readBin(con,"raw",10)
 [1] 20 45 20 46 20 47 20 48 20 49