[R] macro in a loop

David Winsemius dwinsemius at comcast.net
Sat Mar 21 21:12:38 CET 2009


Sorry. Not sure what you mean by macro not " protected."

?paste
?assign

Perhaps:

 > filelist <- paste("c:\\data\\", year,".csv", sep="")
 > filelist
[1] "c:\\data\\1940.csv" "c:\\data\\1950.csv" "c:\\data\\1960.csv"

for (i in filelist) {
          assign( paste("data.", year[i], sep="") ,
                  read.table( file=i, , header=TRUE, sep=",")
                 )
                     }


On Mar 21, 2009, at 3:53 PM, Le Wang wrote:

> Hi there,
>
> Thanks for your time in advance.
>
> I am trying to read in multiple files. For example,
>
> data.1940 <- read.table("c:/data/1940.csv",header=TRUE,sep=",")	
> data.1950 <- read.table("c:/data/1950.csv",header=TRUE,sep=",")	
> data.1960 <- read.table("c:/data/1960.csv",header=TRUE,sep=",")	
>
> How can I write a loop to read the data? I was trying to use the  
> following
>
> 	year<-c(1940,1950,1960)
>
> 	for (j in 1:3){
>
> 	              data.year[j] <- read.table("c:/data/year[j]
> .csv",header=TRUE,sep=",")
>
> 	}
>
> But it is obviously wrong, as the marco is not proctected.
>
> I have been googling around for a while but haven't succeeded in
> finding any solutions. Thanks again for your help.
>
> Le

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list