From romain at r-enthusiasts.com  Mon Nov 21 17:42:03 2011
From: romain at r-enthusiasts.com (romain at r-enthusiasts.com)
Date: Mon, 21 Nov 2011 17:42:03 +0100
Subject: [Rd] extending the colClasses argument in read.table
In-Reply-To: <CAP01uRkQA3zPqCPK03q28j4xbeWxNsbRdKRP1F7bA9j=Vhjdmg@mail.gmail.com>
References: <4ECA2115.9080803@r-enthusiasts.com>
	<CAP01uRkQA3zPqCPK03q28j4xbeWxNsbRdKRP1F7bA9j=Vhjdmg@mail.gmail.com>
Message-ID: <1A78F656-B93B-4466-A52E-FFBA9EE76C09@r-enthusiasts.com>

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



[Rd] extending the colClasses argument in read.table
romain at r-enthusiasts.com