Gavin Simpson a écrit : > On Mon, 2007-11-26 at 14:17 +0000, [EMAIL PROTECTED] wrote: >>> Here are the codes of the example of lm( ): >>> >>> ## Annette Dobson (1990) "An Introduction to >>> Generalized Linear Models". >>> ## Page 9: Plant Weight Data. >>> ctl <- >>> (4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) >>> trt <- >>> (4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) >>> group <- gl(2,10,20, labels=c("Ctl","Trt")) >>> weight <- c(ctl, trt) >>> anova(lm.D9 <- lm(weight ~ group)) >>> lm.D90 <- lm(weight ~ group - 1) # omitting intercept >>> >>> What I am doing is let the variable name "group" >>> stored in a vector, say, g <- "group". The question is >>> how to strip the quotation marks when we call lm( ) >>> through g? >> Try: >> w = "weight" >> g = "group" >> form = as.formula(paste(w,g,sep="~")) >> lm(form) >> >> Regards, >> Richie. > > For more complicated automation, the ideas and examples from Bill > Venables Programmer Niche article in the R newsletter from a few years > ago might be of use: > > [39] Bill Venables. Programmer's niche. R News, 2(2):24-26, June 2002. > [ bib | PDF | http ] > > The PDF is available here: > > http://cran.r-project.org/doc/Rnews/Rnews_2002-2.pdf
Another possibility is to create macro (library(gtools) ; ? defmacro). See Thomas Lumley's paper in R News 2001-3 ("Programmer’s Niche: Macros in R\n Overcoming R’s virtues). HTH, Emmanuel Charpentier ______________________________________________ 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.