有没有办法如何通过部分将二进制文件读入R?
使用readBin,您可以指定要读取的记录数,但是是否可以读取特定位置的记录?
我需要阅读和分析有限PC内存的大文件。
答案 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