I doubt it's possible to use Recall inside a sapply like this. sapply (and lapply) make a copy of the function (FUN <- match.fun(FUN)) before passing it inside an internal function (rval <- .Internal(lapply(X, FUN)). So, while I'm not precisely sure how Recall is coded up, I bet that once it is copied inside of sapply (and lapply), it loses the context from which it was called.
I can think of a couple ways around this. First, you could construct a for loop instead of a sapply and use Recall. Second, you could replace Recall by just asking R what the name of the calling function is and pass that in to sapply. Something like this should work: sapply(n, match.fun(sys.call()[[1]])) HTH, Robert -----Original Message----- From: Robin Hankin [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 30, 2005 3:28 AM To: [email protected] Subject: [R] Recall() and sapply() Hi. I'm having difficulty following the advice given in help(Recall). Consider the two following toy functions: f1 <- function(n){ if(length(n)>1){return(sapply(n,f1))} matrix(n,n,n) } f2 <- function(n){ if(length(n)>1){return(sapply(n,Recall))} matrix(n,n,n) } f1() works as desired (that is, f(1:3), say, gives me a three element list whose i-th element is an i-by-i matrix whose elements are all i). But f2() doesn't. How do I modify either function to use Recall()? What exactly is Recall() calling here? -- Robin Hankin Uncertainty Analyst Southampton Oceanography Centre European Way, Southampton SO14 3ZH, UK tel 023-8059-7743 ______________________________________________ [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 ______________________________________________ [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
