extending the colClasses argument in read.table
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