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.

Reply via email to