I have found the solution. i need to use eval() to execute my text parse like
eval(parse(text =as.expression(paste("save(cart_", args, ", file=file)",sep="")))) I hope this helps someone else. John On Fri, Apr 22, 2011 at 3:42 PM, John Dennison <dennison.j...@gmail.com>wrote: > Greetings All, > > I am looking to write a parametrized Rscript that will accept a variable > name(that also is the name of the flat file), transform the data into a data > frame and preform various modeling on the structure and save the output and > plot of the model. In this example i am using a rpart decision tree. The > only problem i am having is integrating the parameter into the internal > object name when tying to save it. Solving this one porblem will help me > start blasting though 100's of models and saving their output for later use. > > > > I would call the script from command line as > Rscript file_name.R argument > > for this example > > Rscript rpart_code.R Kyphosis > > #/bin/R > args <- commandArgs(TRUE) # Read the argument > > require(rpart, quietly = TRUE) > > #for this example lets use the kyphosis data in the rpart package > args <- "Kyphosis" > > X<-paste(args," ~.", sep ="") # create model formula call. X = "Kyphosis > ~." > > assign(paste("cart_",args, sep =""),rpart(X, method="class", > data=kyphosis)) > > > #NOW MY TROUBLE. I have an rpart object but cannot save it under a file > name that incorporates the parameter > #Here is the file name > file<-paste("cart_",args, sep ="") > > #hard coding the rpart object works > save(cart_Kyphosis, file = file) > > However when I try to use the main parameter to accomplish this i get an > error > > save(paste("cart_",args, sep =""), file = file) > > #I get > > Error in save(paste("cart_", args, sep = ""), file = file) : > object 'paste("cart_", args, sep = "")' not found > > > #or > save(get(paste("cart_",args, sep ="")), file = file) > > get(paste("cart_",args, sep ="")) # print the rpart object > > #I have tried several variation even creating a text line and parsing it > > > paste("save(cart_", args, ", file=file)",sep="") > > [1] "save(cart_Kyphosis, file=file)" > > parse(text=paste("save(cart_", args, ", file=file)",sep="")) > > #or > > as.expression(parse(text =paste("save(cart_", args, ", file=file)",sep="") )) > > expression(save(cart_Kyphosis, file=file)) > attr(,"srcfile") > <text> > attr(,"wholeSrcref") > save(cart_Kyphosis, file=file) > > #nothing works. Any thoughts? > > #even this works but not the save > > png(filename=paste("cart_",args,".png" sep ="") , height = 500, width = > 500, bg = "white") > plot(get(paste("cart_",args, sep =""))) > dev.off() > > #or > > print(get(paste("cart_",args, sep =""))) > > > Many Thanks, > > John > > > > [[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.