[Rd] extending the colClasses argument in read.table
Gabor Grothendieck
ggrothendieck at gmail.com
Mon Nov 21 16:31:10 CET 2011
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
>
Try this:
> 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
More information about the R-devel
mailing list