integer64
のようにロードしようとしていますが、引数は実装されていませんが、実装されていることcharacter
を示しています。fread は としてロードし続けますが。fread
?fread
integer64
options(datatable.integer64)
int64
fread
としてロードするように指示するにはどうすればよいですかcharacter
。編集[colClasses
答えがあれば、単一の列名またはインデックスを指定することは許可されておらず、ロードするテーブルには数十の列があり、実用的ではありません... =>これは間違っていました]
ここにサンプルがあります
#for int 64
library(bit64)
#for fast everything
library(data.table)
#here is a sample
df <- structure(list(IDFD = structure(c(5.13878419797985e-299, 5.13878419797985e-299,
+ 5.13878419797985e-299, 5.13878419797987e-299, 5.13878419797987e-299,
+ 5.13878419797987e-299, 5.13878419797987e-299, 5.13878419797987e-299,
+ 5.13878419797988e-299, 5.13878419797988e-299), class = "integer64")), .Names = "IDFD", row.names = c(NA,
+ -10L), class = c("data.table", "data.frame"))
#write the sample to file
write.csv(df,"test.csv",quote=F,row.names=F)
#I can't load it as characters
options(datatable.integer64='character')
str(fread("test.csv",integer64='character'))
Classes ‘data.table’ and 'data.frame': 10 obs. of 1 variable:
$ IDFD:Class 'integer64' num [1:10] 5.14e-299 5.14e-299 5.14e-299 5.14e-299 5.14e-299 ...