vito muggeo wrote: > Dear all, > I have the following (rather) strange problem.. > For some reasons, I finally work with a variable whose name includes an > R function, "a.log(z)", say. And that is a problem when I call it in a > formula, for instance: > > > myname<-"a.log(z)" > > dd<-data.frame("a.log(z)"=1:10,y=rnorm(10)) > > o<-lm(y~1,data=dd) > > fo<-as.formula(paste(".~.+",paste(myname, collapse = "+"))) > > fo > . ~ . + a.log(z) > > update(o,formula=fo) > Error in eval(expr, envir, enclos) : could not find function "a.log" > > > > How can fit the model? namely how can I use "a.log(z)" in the example above? > > Many thanks, > vito > > > Use backquotes as in `a.log(z)`, I think.
myname<-"a.log(z)" o<-lm(y~1,data=dd) dd<-data.frame("a.log(z)"=1:10,y=rnorm(10),check.names=F) fo<-as.formula(paste(".~.+",paste(deparse(as.name(myname), backtick=T), collapse = "+"))) update(o,formula=fo) or, actually nicer, use fo <- bquote(. ~ . + .(as.name(myname))) -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ 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.