4

integer64のようにロードしようとしていますが、引数は実装されていませんが、実装されていることcharacterを示しています。fread は としてロードし続けますが。fread ?freadinteger64options(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 ...
4

1 に答える 1