2011/11/21 Romain Fran?ois <romain at r-enthusiasts.com>:
Hello,
We've released the int64 package to CRAN a few days ago. The package
provides S4 classes "int64" and "uint64" that represent signed and unsigned
64 bit integer vectors.
One further development of the package is to facilitate reading 64 bit
integer data from csv, etc ... files.
I have this function that wraps a call to read.csv to:
- read the "int64" and "uint64" columns as "character"
- converts them afterwards to the appropriate type
library(int64)
Lines <- "A\n12\n"
setAs("character", "int64", function(from) as.int64(from))
DF <- read.csv(textConnection(Lines), colClasses = "int64")
str(DF)
'data.frame': 1 obs. of 1 variable:
$ A:Formal class 'int64' [package "int64"] with 2 slots
.. ..@ .Data:List of 1
.. .. ..$ : int 0 12
.. ..@ NAMES: NULL
To convince ourselves that its translating from character to int64:
setAs("character", "int64", function(from) {print(class(from)); as.int64(from)})
DF <- read.csv(textConnection(Lines), colClasses = "int64")
[1] "character"
--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com