Thanks for your reply. However, I have only told you half of the story. My intention was to create a function that outputs 10 different .RData file. These output files need to contain similar command lines (one "apply" and one "save" command) but with slightly different arguments. This is what I wrote:
Start <- 1 End <- 120 for (i in 1:10) { object.result <- paste('Result', i, sep="") section <- paste('apply', '(', 'exp.des[', Start, ':', End, ',], 1, one.row, parms=parameters)') Apply <- paste(object.result, section, sep=" <- ") Save <- format(substitute(save(result1, file='/home/uqlcatta/pbs/result1.RData'))) path <- '//atlas2/Research/Lorenzo Cattarino/PhD/myR/R_laboratory/' output <- paste(path, object.result, sep = "") write(paste(Apply,Save), paste(output, 'R', sep = ".")) Start <- Start + 120 End <- End + 120 } As you can see, apart from an extremely repetitive use of "paste", the function works. However there are several problems: 1. I could not find the way to change the arguments of the Save object (e.g. result1 and .../result1.RData for first output file; result2 and .../result2.RData for second output, and so forth) 2. I did not know how to put together the Apply and Save objects in the final command, in a way that resemble two executable lines (each on a different line, and not one behind each other on the same line, like they are now) 3. I was also wondering about a more elegant way to write the function (which looks sort of inefficient to me???). Thanks very much for your help Lorenzo -----Original Message----- From: Gabor Grothendieck [mailto:ggrothendi...@gmail.com] Sent: Monday, 18 October 2010 1:38 PM To: Lorenzo Cattarino Cc: r-help@r-project.org Subject: Re: [R] paste an unevaluated expression On Sun, Oct 17, 2010 at 9:14 PM, Lorenzo Cattarino <l.cattar...@uq.edu.au> wrote: > Hi R-users, > > > > I would like to create an expression without evaluating it. Then paste > that expression to an object. Example: > > > > Result <- paste('Result', 1, sep="") > > paste(Result, substitute(apply(exp.des[1:10,], 1, one.row, > parms=parameters)), sep="<-") > > > > However this pastes EACH element of the unevaluated expression. Instead > I just would like the expression to be a character string, with just ONE > element. Try this: s <- substitute(...whatever...) paste(Result, format(s), sep = "<-") -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.