Arne Henningsen <ahenningsen <at> email.uni-kiel.de> writes: > > Hi Hendrik, > > if I understand you right, match.call() can help you. > > All the best, > Arne > > On Wednesday 01 September 2004 12:13, Henrik Andersson wrote: > > I want to use the name that I assign to an object in the function that > > produces the output, somewhat like below: > > > > stupid.function <- function(input){ > > [body] > > cat("Summarized output is ", output$summary, "Full output is given > > by typing", assigned.name, "\n") > > } > > > > assigned.name <- stupid.function(whatever) > > > > > > or another example is a function that sinks the results to a text file > > and names it assigned.name.txt . > > > > I checked the help for function, <-, assign but could not find it, is it > > possible ?
As far as I know you are going to have to pass the assigned.name to the function although there are a number of tricks that can make this a bit nicer. For example, run this: example(lm) # which has the effect of defining lm.D9 which we will use for our # examples below. Using that: #### 1 set1 <- function(x, value) { name <- as.character(substitute(x)) print(summary(value)$fstatistic) cat("That was F and df. For more info type", name, "\n") assign(name, value, parent.frame()) invisible(value) } set1(x, lm.D9) x # We can make this a bit prettier this way: #### 2 set2 <- structure(NA,class="set2") "[<-.set2" <- function(tmp,x,value) { name <- as.character(substitute(x)) print(summary(value)$fstatistic) cat("That was F and df. For more info type", name, "\n") assign(name, value, parent.frame()) tmp } # now we can write: set2[xx] <- lm.D9 xx # Another strategy might be to use a global variable to store the # last output from your function: #### 3 set3 <- function(value) { name <- as.character(substitute(x)) print(summary(value)$fstatistic) cat("That was F and df. For more info type .set3\n") assign(".set3", value, .GlobalEnv) invisible(value) } xxx <- set3(lm.D9) # or just set3(lm.D9) .set3 ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html