Sorry - it is working as suggested by Joshua.
Thanks a lot and sorry for the horrible confusion and examples,
Rainer
On 21/08/12 18:12, Rainer M Krug wrote:
On 21/08/12 17:54, Joshua Wiley wrote:
What is wrong with what I suggested initially?
subst <- expression(trt > 0)
lm(weight ~ group, data=dat, subset=eval(subst))
That it does not work?
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)
)
rm(ctl)
rm(trt)
subst <- expression(trt > 0)
lm(weight ~ group, data=dat, subset=eval(subst))
# output: Error in eval(expr, envir, enclos) : object 'trt' not found
and
lm(weight ~ group, data=dat, subset=subst)
# output: Error in xj[i] : invalid subscript type 'expression'
>
also does not work.
Rainer
??
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.
______________________________________________
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.