Thanks Jeff and Duncan Assign worked for me. I did not check the other methods suggested by you. I am repreducing my code below:
################## filenames = list.files(path = ".", pattern = '.txt$', all.files = FALSE, full.names = TRUE, ignore.case = FALSE) #all input files numFiles = length(filenames) outfilenames <- paste("./file", 1:numFiles, '.Rdata', sep="") # output files for ( i in 1:numFiles) { dataFile = read.table(filenames[i], header=TRUE, sep='\t'); save(dataFile, file = outfilenames[i]) #Saving into the output files } newnames <- paste("file", 1:numFiles, sep="") #output variables to load into for ( i in 1:numFiles) { load(file = outfilenames[i]); assign(newnames[i], dataFile) #assign into corresponding output variables; } ##################### Regards - M On Sun, Jun 19, 2011 at 10:38 AM, Duncan Murdoch <murdoch.dun...@gmail.com>wrote: > On 11-06-19 10:26 AM, Mary Kindall wrote: > >> I have a list of txt files that I want to convert into .rdata R data >> object. >> >> filenames >> 1. "./file1.txt" >> 2. "./file2.txt" >> 3. "./file3.txt" >> 4. "./file4.txt" >> 5. "./file5.txt" >> 6. "./file6.txt" >> 7. "./file7.txt" >> 8. "./file8.txt" >> 9. "./file9.txt" >> 10. "./file10.txt" >> >> I saved these files as >> >> for ( i in 1:10) >> { >> dataFile = read.table(filenames[i], header=TRUE, sep='\t'); >> save (dataFile, file = outfilenames[i]) >> } >> >> The inpt files are saves as: >> outfilenames >> 1. "./file1.Rdata" >> 2. "./file2.Rdata" >> 3. "./file3.Rdata" >> 4. "./file4.Rdata" >> 5. "./file5.Rdata" >> 6. "./file6.Rdata" >> 7. "./file7.Rdata" >> 8. "./file8.Rdata" >> 9. "./file9.Rdata" >> 10. "./file10.Rdata" >> >> >> Now I want to load these out files in such a way that the data is loaded >> into a variable that is same as the file name without extension. >> >> file1 = load (file = './file1.Rdata') >> file2 = load (file = './file2.Rdata') >> file3 = load (file = './file3.Rdata') >> file4 = load (file = './file4.Rdata') >> >> How can I do that. >> > > When you load() a file, the variables in it are restored with the same > names that were saved. So you would need something like > > newnames <- paste("file", 1:10, sep="") # file1, file2, etc. > > > for (i in 1:10) { > load(file=outfilenames[i]) # assuming that's still around... > assign(newnames[i], dataFile) > } > > It would be a little simpler to use saveRDS() and readRDS() to save and > load your files. They don't save the object names. > > A more R-like version of this would be to create a list of datasets, e.g. > > files <- list() > > for (i in 1:10) { > load(file=outfilesnames[i]) > files[[i]] <- dataFile > } > > Then you don't end up creating 10 objects, but you can still access them > separately. > > Duncan Murdoch > > -- ------------- Mary Kindall Yorktown Heights, NY USA [[alternative HTML version deleted]] ______________________________________________ R-help@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.