[R] Reading a specific column of a csv file in a loop

Jim Holtman jholtman at gmail.com
Tue Nov 8 11:54:26 CET 2011


have you considered reading in the data and then creating objects for each column and then saving (save) each to disk.  That way you incur the expense of the read once and now have quick access (?load) to the column as you need them.

You could also use a database for this.

On Nov 8, 2011, at 5:04, Sergio René Araujo Enciso <araujo.enciso at gmail.com> wrote:

> Dear all:
> 
> I have two larges files with 2000 columns. For each file I am
> performing a loop to extract the "i"th element of each file and create
> a data frame with both "i"th elements in order to perform further
> analysis. I am not extracting all the "i"th elements but only certain
> which I am indicating on a vector called "d".
> 
> See  an example of my  code below
> 
> ### generate an example for the CSV files, the original files contain
> more than 2000 columns, here for the sake of simplicity they have only
> 10 columns
> M1<-matrix(rnorm(1000), nrow=100, ncol=10,
> dimnames=list(seq(1:100),letters[1:10]))
> M2<-matrix(rnorm(1000), nrow=100, ncol=10,
> dimnames=list(seq(1:100),letters[1:10]))
> write.table(M1, file="M1.csv", sep=",")
> write.table(M2, file="M2.csv", sep=",")
> 
> ### the vector containing the "i" elements to be read
> d<-c(1,4,7,8)
> P1<-read.table("M1.csv", header=TRUE)
> P2<-read.table("M1.csv", header=TRUE)
> for (i in d) {
> M<-data.frame(P1[i],P2[i])
> rm(list=setdiff(ls(),"d"))
> }
> 
> As the files are quite large, I want to include "read.table" within
> the loop so as it only read the "i"th element. I know that there is
> the option "colClasses" for which I have to create a vector with zeros
> for all the columns I do not want to load. Nonetheless I have no idea
> how to make this vector to change in the loop, so as the only element
> with no zeros is the "i"th element following the vector "d". Any ideas
> how to do this? Or is there anz other approach to load only an
> specific element?
> 
> best regards,
> 
> Sergio René
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list