Thank you so much for your suggestion, Bill. The R program I try to modify needs match.call() for something else. But the problem does seem to be caused by this statement as you suggested. Following this clue, I find out that
terms.formula(formula) does essentially what I want for "terms.formula(mf$formula)". Pang Du Virginia Tech -----Original Message----- From: William Dunlap [mailto:wdun...@tibco.com] Sent: Wednesday, July 13, 2011 12:21 PM To: pan...@vt.edu; r-help@r-project.org Subject: RE: [R] question on formula and terms.formula() Does your code work if you omit the match.call step? terms() generally doesn't need that. Also, do not call terms.formula(formula): call just terms(formula). The terms method appropriate to the class of the formula will be used. > f1 <- function(formula, ...) { + terms(formula, ...) + } > form <- as.formula("y ~ x1 + Error(x2)") > f1(form, specials="Error") y ~ x1 + Error(x2) attr(,"variables") list(y, x1, Error(x2)) attr(,"factors") x1 Error(x2) y 0 0 x1 1 0 Error(x2) 0 1 attr(,"term.labels") [1] "x1" "Error(x2)" attr(,"specials") attr(,"specials")$Error [1] 3 attr(,"order") [1] 1 1 attr(,"intercept") [1] 1 attr(,"response") [1] 1 attr(,".Environment") <environment: R_GlobalEnv> Bill Dunlap TIBCO Spotfire ________________________________________ From: r-help-boun...@r-project.org [r-help-boun...@r-project.org] on behalf of pan...@vt.edu [pan...@vt.edu] Sent: Tuesday, July 12, 2011 8:40 PM To: r-help@r-project.org Subject: [R] question on formula and terms.formula() I'm trying to create a formula object to pass on to a function that applies the function terms.formula() to it. f <- function(formula, ...) { ... mf <- match.call() term <- terms.formula(mf$formula) ... } However, my code below gives an error. form <- as.formula("y~x") f(form, ...) The error message was: Error in terms.formula(mf$formula): argument is not a valid model. Could anybody help me figure out the problem and find a solution here? ______________________________________________ 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.= ______________________________________________ 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.