For a package, I need to write a csv version of a data set to an R object. Right now, I use:
out <- capture.output( write.table(x, sep = ",", na = "?", file = "", quote = FALSE, row.names = FALSE, col.names = FALSE)) To me, this is fairly slow; 131 seconds for a data frame with 8100 rows and 1400 columns. The data will be in a data frame; I know write.table() would be faster with a matrix. I was looking into converting the data frame to a character matrix using as.matrix() or, better yet, format() prior to the call above. However, I'm not sure what an appropriate value of 'digits' should be so that the character version of numeric data has acceptable fidelity. I also tried using a text connection and sink() as shown in ?textConnection but there was no speedup. Any suggestions or ideas? Thanks, Max > sessionInfo() R version 2.14.0 (2011-10-31) Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_2.14.0 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel