What is wrong with what I suggested initially? subst <- expression(trt > 0) lm(weight ~ group, data=dat, subset=eval(subst))
?? On Tue, Aug 21, 2012 at 8:41 AM, Rainer M Krug <r.m.k...@gmail.com> wrote: > On 21/08/12 17:35, Eik Vettorazzi wrote: >> >> Hi Rainer, >> I got an error while replicating your data.frame construction. >> >> But this worked for me >> >> ctl = c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) >> trt = c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) >> dat <- data.frame( group = gl(2,10,20, labels=c("Ctl","Trt")), >> weight = c(ctl, trt) >> ) > > > Sorry - to much garbage in my workspace left. > > Just add: > > rm(ctl) > rm(trt) > > after the definition > > >> lm(weight ~ group, data=dat, subset=trt>0) > > > this obviously works, but I would like to have: > > subst <- trt>0 > > lm(weight ~ group, data=dat, subset=subst) > > Sorry about this, > > Rainer > > > >> >> Cheers >> >> Am 21.08.2012 17:11, schrieb Rainer M Krug: >>> >>> On 21/08/12 16:57, Bert Gunter wrote: >>>> >>>> ?? I do not groc what you mean. ... subset == subs would work fine in >>>> your lm call. So unless someone else does get it, you may need to >>>> elaborate. >>> >>> >>> OK - here is an example: >>> >>> dat <- data.frame( >>> ctl = c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14), >>> trt = c(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) >>> ) >>> lm(weight ~ group, data=dat, subset=trt>0) >>> >>> subst <- trt>0 ### here I get the obvious error: Error: object 'trt' not >>> found >>> >>> # I want to use: >>> >>> lm(weight ~ group, data=dat, subset=subst) >>> >>> >>>> >>>> In general, ?substitute, ?bquote, and ?quote are useful to avoid >>>> immediate evaluation of calls, but I don't know if that's relevant to >>>> what you want here. >>> >>> >>> Looks promising from the help, but I don't get it to work. >>> >>> Rainer >>> >>>> >>>> -- Bert >>>> >>>> On Tue, Aug 21, 2012 at 7:44 AM, Rainer M Krug <r.m.k...@gmail.com> >>>> wrote: >>>>> >>>>> Hi >>>>> >>>>> I want to do a series of linear models, and would like to define the >>>>> input >>>>> arguments for lm() as variables. I managed easily to define the formula >>>>> arguments in a variable, but I also would like to have the "subset" in >>>>> a >>>>> variable. My reasoning is, that I have the subset in the results >>>>> object. >>>>> >>>>> So I wiould like to add a line like: >>>>> >>>>> subs <- dead==FALSE & recTreat==FALSE >>>>> >>>>> which obviously does not work as the expression is evaluated >>>>> immediately. Is >>>>> is it possible to do what I want to do here, or do I have to go back >>>>> to use >>>>> >>>>> dat <- subset(dat, dead==FALSE & recTreat==FALSE) >>>>> >>>>> ? >>>>> >>>>> >>>>> >>>>> dat <- loadSPECIES(SPECIES) >>>>> feff <- height~pHarv*year # fixed effect in the model >>>>> reff <- ~year|plant # random effect in the model, >>>>> where >>>>> year is the >>>>> dat.lme <- lme( >>>>> fixed = feff, # fixed effect >>>>> in the >>>>> model >>>>> data = dat, >>>>> random = reff, # random effect >>>>> in the >>>>> model >>>>> correlation = corAR1(form=~year|plant), # >>>>> subset = dead==FALSE & recTreat==FALSE, # >>>>> na.action = na.omit >>>>> ) >>>>> dat.lm <- lm( >>>>> formula = feff, # fixed effect in the model >>>>> data = dat, >>>>> subset = dead==FALSE & recTreat==FALSE, >>>>> na.action = na.omit >>>>> ) >>>>> >>>>> Thanks, >>>>> >>>>> Rainer >>>>> >>>>> -- >>>>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation >>>>> Biology, >>>>> UCT), Dipl. Phys. (Germany) >>>>> >>>>> Centre of Excellence for Invasion Biology >>>>> Stellenbosch University >>>>> South Africa >>>>> >>>>> Tel : +33 - (0)9 53 10 27 44 >>>>> Cell: +33 - (0)6 85 62 59 98 >>>>> Fax : +33 - (0)9 58 10 27 44 >>>>> >>>>> Fax (D): +49 - (0)3 21 21 25 22 44 >>>>> >>>>> email: rai...@krugs.de >>>>> >>>>> Skype: RMkrug >>>>> >>>>> ______________________________________________ >>>>> 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. >>>> >>>> >>>> >>>> >>> >>> >> >> > > > -- > Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, > UCT), Dipl. Phys. (Germany) > > Centre of Excellence for Invasion Biology > Stellenbosch University > South Africa > > Tel : +33 - (0)9 53 10 27 44 > Cell: +33 - (0)6 85 62 59 98 > Fax : +33 - (0)9 58 10 27 44 > > Fax (D): +49 - (0)3 21 21 25 22 44 > > email: rai...@krugs.de > > Skype: RMkrug > > ______________________________________________ > 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. -- Joshua Wiley Ph.D. Student, Health Psychology Programmer Analyst II, Statistical Consulting Group University of California, Los Angeles https://joshuawiley.com/ ______________________________________________ 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.