[Rd] extending the colClasses argument in read.table

romain at r-enthusiasts.com romain at r-enthusiasts.com
Mon Nov 21 17:42:03 CET 2011


Thanks gabor, 

I will implement this and publish an updated package later. 

Cheers, 

Romain



Le 21 nov. 2011 à 16:31, Gabor Grothendieck <ggrothendieck at gmail.com> a écrit :

> 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