[R] crossed random effects- clarified version

2003-07-02 Thread Sarah Mclean
Hi,

here is a clarified version of my problem.

I have a total of 4*74 observations on 74 different
mums in 5 different populations of mums, subject to 6
treatments (2 moisture levels*3 substrate types).

I want to know if mum interacts with moisture level or
substrate type.

Population, moisture and substrate are fixed effects
and mum is a random effect within population. Plot is
a random whole-plot error for a split-plot design. The
data set is called fm.

This is the formula I used and the error message I
got:

fm$pmu - getGroups(fm, ~1|pop/mum, level=2)
fm$grp = as.factor(rep(1,nrow(fm)))
fm$pl - getGroups(fm, ~1|plot)
fm$mo - getGroups(fm, ~1|moist)
fm$su - getGroups(fm, ~1|sub)
 fm1 - lme(sqrt(mass) ~ iheight + moist*sub*pop,
data=fm, random=list(grp=pdBlocked(list(pdIdent(~pl -
1), pdIdent(~pmu - 1),  pdIdent(~pmu:su - 1),
pdIdent(~pmu:mo - 1)
Error in chol((value + t(value))/2) : non-positive
definite matrix in chol

The model works if the interaction terms:
pdIdent(~pmu:su - 1), pdIdent(~pmu:mo - 1), are
removed, so they are causing the problem. 

The model also works if I test mums from one
population at a time so that mum no longer needs to be
nested, i.e. if I replace pmu with mu:
fm$mu - getGroups(fm, ~1|mum)
 fm1 - lme(sqrt(mass) ~ iheight + moist*sub,
data=fm, random=list(grp=pdBlocked(list(pdIdent(~pl -
1), pdIdent(~pmu - 1),  pdIdent(~mu:su - 1),
pdIdent(~mu:mo - 1)

It would be a lot faster if I can test all of the
populations at once instead of individually.

Any help would be much appreciated.

Thanks,
Sarah

http://mobile.yahoo.com.au - Yahoo! Mobile
- Check  compose your email via SMS on your Telstra or Vodafone mobile.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


Re: [R] crossed random effects

2003-07-01 Thread Sarah Mclean
Hi,

thanks for the advice. I have looked at the Pinheiro
and Bates book and I've tried simplifying my model.

I've narrowed the problem down to having mum nested
within pop. If I run the analysis on each population
separately, the interaction between mo and su with mum
works fine.

If I could analyse all of the pops at once this would
be preferable because I have multiple responses and
pops to test so it would take a bit of time. I'm
hoping there is any easier way.

Thanks 
Sarah

 --- Spencer Graves [EMAIL PROTECTED] wrote:  
  Have you studied Pinhiero and Bates (2000) Mixed
 Effects Models in S 
 and S-Plus (Springer)?
 
 Also, have you tried simplifying your lme call
 until you get 
 something that works, then start adding back terms
 in various 
 configurations until it breaks?
 
 Have you tried to compute how many coefficients
 are estimated in both 
 fixed and random terms and evaluate whether all are
 estimable?  For 
 example, with 2 factors at 2 levels each, if you
 don't have all 4 
 possible combinations, you can't estimate the
 interaction -- even if you 
 have thousands of replications of each.
 
 Finally, you can always try to read the code. 
 I've learned a lot 
 about S-Plus / R by doing that -- and solved a lot
 of my own problems 
 that way.
 
 hope this helps.  spencer graves
 
 Sarah Mclean wrote:
  Hi,
  
  if I have posted this twice, please ignore this.
 I'm
  not sure if I sent it to the correct e-mail
 address
  the first time.
  
  I have a data set on germination and plant growth
 with
  the following variables:
  
  dataset=fm
  mass (response)
  sub (fixed effect)
  moist (fixed effect)
  pop (fixed effect)
  mum (random effect nested within population)
  iheight (covariate)
  plot (random effect- whole plot factor for
 split-plot
  design).
  
  I want to see if moist or sub interacts with mum
 for
  any of the pops, but I am getting an error
 message. 
  
  This is the formula I used:
  fm$pmu - getGroups(fm, ~1|pop/mum, level=2)
  fm$grp = as.factor(rep(1,nrow(fm)))
  fm$pl - getGroups(fm, ~1|plot)
  fm$mo - getGroups(fm, ~1|moist)
  fm$su - getGroups(fm, ~1|sub)
  
 fm1 - lme(sqrt(mass) ~ iheight + moist*sub*pop,
  
  data=fm,
 random=list(grp=pdBlocked(list(pdIdent(~pl -
  1), pdIdent(~pmu - 1),  pdIdent(~pmu:su - 1),
  pdIdent(~pmu:mo - 1)
  Error in chol((value + t(value))/2) : non-positive
  definite matrix in chol
  
  I know the problem is with the random interaction
  terms, but I don't know how to overcome this.
  
  Any advice would be greatly appreciated. I'm new
 to R
  and analysis such as this.
  
  Thank you,
  
  Sarah Mclean
  [EMAIL PROTECTED]
  
  
  http://mobile.yahoo.com.au - Yahoo! Mobile
  - Check  compose your email via SMS on your
 Telstra or Vodafone mobile.
  
  __
  [EMAIL PROTECTED] mailing list
 

https://www.stat.math.ethz.ch/mailman/listinfo/r-help
 
  

http://mobile.yahoo.com.au - Yahoo! Mobile
- Check  compose your email via SMS on your Telstra or Vodafone mobile.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


[R] crossed random effects

2003-06-30 Thread Sarah Mclean
Hi,

I have a data set on germination and plant growth with
the following variables:

dataset=fm
mass (response)
sub (fixed effect)
moist (fixed effect)
pop (fixed effect)
mum (random effect nested within population)
iheight (covariate)
plot (random effect- whole plot factor for split-plot
design).

I want to see if moist or sub interacts with mum for
any of the pops, but I am getting an error message. 

This is the formula I used:
fm$pmu - getGroups(fm, ~1|pop/mum, level=2)
fm$grp = as.factor(rep(1,nrow(fm)))
fm$pl - getGroups(fm, ~1|plot)
fm$mo - getGroups(fm, ~1|moist)
fm$su - getGroups(fm, ~1|sub)
 fm1 - lme(sqrt(mass) ~ iheight + moist*sub*pop,
data=fm, random=list(grp=pdBlocked(list(pdIdent(~pl -
1), pdIdent(~pmu - 1),  pdIdent(~pmu:su - 1),
pdIdent(~pmu:mo - 1)
Error in chol((value + t(value))/2) : non-positive
definite matrix in chol

I know the problem is with the random interaction
terms, but I don't know how to overcome this.

Any advice would be greatly appreciated. I'm new to R
and analysis such as this.

Thank you,

Sarah Mclean
[EMAIL PROTECTED]


http://mobile.yahoo.com.au - Yahoo! Mobile
- Check  compose your email via SMS on your Telstra or Vodafone mobile.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


[R] crossed random effects

2003-06-30 Thread Sarah Mclean
Hi,

if I have posted this twice, please ignore this. I'm
not sure if I sent it to the correct e-mail address
the first time.

I have a data set on germination and plant growth with
the following variables:

dataset=fm
mass (response)
sub (fixed effect)
moist (fixed effect)
pop (fixed effect)
mum (random effect nested within population)
iheight (covariate)
plot (random effect- whole plot factor for split-plot
design).

I want to see if moist or sub interacts with mum for
any of the pops, but I am getting an error message. 

This is the formula I used:
fm$pmu - getGroups(fm, ~1|pop/mum, level=2)
fm$grp = as.factor(rep(1,nrow(fm)))
fm$pl - getGroups(fm, ~1|plot)
fm$mo - getGroups(fm, ~1|moist)
fm$su - getGroups(fm, ~1|sub)
 fm1 - lme(sqrt(mass) ~ iheight + moist*sub*pop,
data=fm, random=list(grp=pdBlocked(list(pdIdent(~pl -
1), pdIdent(~pmu - 1),  pdIdent(~pmu:su - 1),
pdIdent(~pmu:mo - 1)
Error in chol((value + t(value))/2) : non-positive
definite matrix in chol

I know the problem is with the random interaction
terms, but I don't know how to overcome this.

Any advice would be greatly appreciated. I'm new to R
and analysis such as this.

Thank you,

Sarah Mclean
[EMAIL PROTECTED]


http://mobile.yahoo.com.au - Yahoo! Mobile
- Check  compose your email via SMS on your Telstra or Vodafone mobile.

__
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help