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.

Reply via email to