请在
https://www.box.com/s/z3tldpdykhppmivfexjl中下载文件
,将其另存为'/tmp/mydata'
并运行以下代码
datafile="/tmp/mydata"
totalsize=file.info(datafile)$size
lines=totalsize/32
con=file(datafile,"rb")
date<-c()
data<-c()
for (i in 1:lines){
result1<-readBin(con,integer(),n=1,size=4,endian="little")
date<-c(date,result1)
result2<-round(readBin(con,double(),n=7,size=4,endian="little"),2)
data<-c(data,result2)
}
date=data.frame(matrix(date,nrow=lines,ncol=1,byrow=TRUE))
data=data.frame(matrix(round(data,2),nrow=lines,ncol=7,byrow=TRUE))
data=cbind(date,data)
names(data)<-c("date","open","high","low","close","volume","amount","reserved")
data<-data[-c(1:2),]
完成后,请data
在 R 控制台中输入,
可以看到长数字,
https://www.box.com/s/lxkbs96vk02p6ekdflbe
为什么round(data,2)
不能四舍五入?
太奇怪了,当我将数据写入 csv 文件时,打开 csv 文件,我发现它只有 2 位数字!
write.csv(file="/tmp/test",data)
Joris Meys 说在 for 循环中增长向量是不好的方法,但我发现在我的情况下这可能是一个好方法,如果不是,如何修改它?让我看看更好的代码。