Dear List,

I'm trying to create a formula method, allowing for a "special"
character in the formula (i.e., similar to for example the gam package
with the character "s" in y ~ s(x)). I've checked and it seems this is
done through attr(,"specials"). However, the section of code below (as
an example extracted from the gam package) gives me an error as shown at
the end. Evidently I'm missing something here...any help is much
appreciated. 

Thanks,
Leo.

"gam2.slist" <-
c("s", "lo", "random")

"gam2" <-
  function(formula, family = gaussian, data, 
           weights, subset, na.action, start = NULL, etastart, mustart,
control = gam.control(...),
           model = FALSE, method="glm.fit", x = FALSE, y = TRUE, ...)
{
  call <- match.call()
  mf <- match.call(expand.dots = FALSE)
  m <- match(c("formula", "data", "subset", "weights", "na.action", 
               "etastart", "mustart", "offset"), names(mf), 0)
  mf <- mf[c(1, m)]
  mf$drop.unused.levels <- TRUE
  mf[[1]] <- as.name("model.frame")
  mt <- if(missing(data)) terms(formula, gam2.slist) else
terms(formula,gam2.slist,data = data)
  mf$formula<-mt

  mf <- eval(mf, parent.frame())
  
  }

set.seed(1)
x <- runif(1000)
y <- runif(1000)
dd <- data.frame(y, x)

g <- gam2(y ~ s(x), data =dd)
Error in eval(expr, envir, enclos) : could not find function "s"
_______________________________________________________________________

This email may be privileged and/or confidential, and the
sender does not waive any related rights and obligations.
Any distribution, use or copying of this email or the
information it contains by other than an intended recipient
is unauthorized. If you received this email in error,
please advise the sender (by return email or otherwise)
immediately. You have consented to receive the attached
electronically at the above-noted email address; please retain a
copy of this confirmation for future reference.

Ce courriel est confidentiel et protégé. L'expéditeur ne renonce
pas aux droits et obligations qui s'y rapportent. Toute diffusion,
utilisation ou copie de ce courriel ou des renseignements qu'il
contient par une personne autre que le (les) destinataire(s)
désigné(s) est interdite. Si vous recevez ce courriel par erreur,
veuillez en aviser l'expéditeur immédiatement, par retour de courriel
ou par un autre moyen. Vous avez accepté de recevoir le(s) document(s)
ci-joint(s) par voie électronique à l'adresse courriel indiquée ci-dessus;
veuillez conserver une copie de cette confirmation pour les fins de reference future.

	[[alternative HTML version deleted]]

