Skip to content

Looping through file names and loading...

2 messages · greggallen at gmail.com, Duncan Murdoch

#
Dear R-Community:

I am assisting a community college instructor in an introductory
statistics class.

He has asked me to do this:

Read in a file, of filenames, line by line:

Student_models.txt : (contains 1500+ filenames)
________________________
Experiment_name_student_name_date_time_Model_number_etc_etc
Another_file_name_with_similar_info_as_above
And_another
And_another_one
And_about_1500_more
..........
..........


________________________

function(filename)# I pass in filename
{
for(i in 1:length(filename))
{
s <-  filename[i,1]
print(s) # I check the file name, and it is OK.
load(s) # This returns all sorts of errors, most common is: object
"mod" not found.
..................
pred <- predict( s , test_vector) # I never get this far
print(pred)

write(filename, pred, "output.txt")

.....

}

The filenames are correct, and I can use "load(s)"  interactively, but
it won't work in a function.

Thanks for ANY help!!!!

Gregg Allen
USA
#
greggallen at gmail.com wrote:
Calling load(s) here will load the objects from a saved image into the 
local evaluation frame of your function.  They could overwrite i, or s, 
or filename, or any other local variables.  Are you sure that's what you 
want to do?  I think it would be safer to do something like

e <- new.env()
load(s, e)

and then you've loaded things into e, not into your evaluation frame, 
and they shouldn't mess you up.  It makes it a bit more work to extract 
things, but not that much more.
Now this doesn't make sense:  isn't "s" a filename? 

Duncan Murdoch