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.

Reply via email to