如何使用R从二进制文件中读取浮点数据

时间:2014-10-27 09:12:32

标签: r binary

我知道R.中没有浮点数。所以如何从二进制文件中读取浮点数据。 C中的数据结构如下

typedef struct
{
    int date;
    int open;
    int high;
    int low;
    int close;
    float amount;
    int vol;
    int reservation;
} StockData; 

to.read = file(filename, "rb");
line1=readBin(to.read,  "int",8);

金额不是正确的价值。我怎样才能得到正确的浮动值?

1 个答案:

答案 0 :(得分:5)

您的C结构由5个整数值组成,后跟浮点数,然后再次为2个整数。因此,您可以三次致电readBin

 line1<-c(readBin(to.read,"int",5), 
          readBin(to.read,"double",1,size=4),
          readBin(to.read,"int",2))

您可以通过将float参数设置为size来处理4值,因为float的大小为4个字节(而不是double中的8个1}})。