[R] cca with repeated measures
René Mayer
mayer at psychologie.tu-dresden.de
Sat Nov 19 10:56:49 CET 2011
Thanks again Gavin!,
this is very clear and enlightening,
vegan is an amazing package! It's a pleasure to use it.
the best,
René
--
Dr. René Mayer Email: mayer at psychologie.tu-dresden.de
Research Assistant Phone: +49-351-463-34568
Department of Psychology Fax: +49-351-463-33522
Dresden University of Technology Web: http://tu-dresden.de/en
Zitat von "Gavin Simpson" <gavin.simpson at ucl.ac.uk>:
> On Fri, 2011-11-18 at 15:17 +0100, René Mayer wrote:
>> Thanks a lot Gavin!,
>> this was what I was looking for.
>> Have I got this right that with no 'cyclic shifts *within* strata' you
>> mean that I cannot define a nesting within animal, e.g.,
>> animal/year/season (speaking in regression-terms random-effects for
>> the animal-specific season and year variation).
>
> In the permutation framework, you condition the permutation on animal
> (`strata = animal` in the anova() method), but that alone would say that
> observations are freely exchangeable within each animal, but not
> exchangeable between animals. As you have time series data then the
> observations are not really freely exchangeable within animal either. We
> can try to maintain the within-animal temporal dependence structure by
> using cyclic shift permutations:
>
>> require(permute)
>> shuffleSeries(1:10)
> [1] 4 5 6 7 8 9 10 1 2 3
>> t(replicate(10, shuffleSeries(1:10)))
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
> [1,] 10 1 2 3 4 5 6 7 8 9
> [2,] 1 2 3 4 5 6 7 8 9 10
> [3,] 3 4 5 6 7 8 9 10 1 2
> [4,] 10 1 2 3 4 5 6 7 8 9
> [5,] 7 8 9 10 1 2 3 4 5 6
> [6,] 8 9 10 1 2 3 4 5 6 7
> [7,] 9 10 1 2 3 4 5 6 7 8
> [8,] 3 4 5 6 7 8 9 10 1 2
> [9,] 4 5 6 7 8 9 10 1 2 3
> [10,] 5 6 7 8 9 10 1 2 3 4
>
> cyclic shifts basically take a random starting point for the permuted
> timeseries and then keep sample in the order they appear in the data,
> bending the ends of the series round together into a circle. The above
> example:
>
>> shuffleSeries(1:10)
> [1] 4 5 6 7 8 9 10 1 2 3
>
> shows a single cyclic shift of the observations 1:10 in an equally
> spaced time series. Here the random starting point was observation 4 and
> note that we join the ends of the timeseries so after observation 10, we
> have observation 1.
>
> There are problems with this if there is a trend because you'll get a
> discontinuity when you join the two ends.
>
> As you only have two years of data, and include season as a fixed effect
> (main term in the model), you could assume that the residuals within
> animal might be free of temporal dependence. You can check that as I
> said by fitting the model and looking at the residuals within animal
> over time.
>
> Unless you are prepared to do some coding, the above discussion is moot
> as vegan doesn't possess the code to use these restricted permutations
> yet. If you want to do it yourself by hacking the anova.ccabyterm()
> function, take a look at the vignette that comes with the permute
> package for ideas on how to specify the permutation design you want and
> then generate the permutations using shuffle() or shuffleSet() instead
> of via permuted.index() that is used in vegan.
>
> Basically, with:
>
> mod <- cca(food ~ season*sex, data)
> anova(mod, by = "term", strata = data$animal)
>
> I guess you are allowing for a random intercept in animal only. For
> animal specific season and year effects you'll need to include animal
> and year in the model with appropriate interactions - we don't, as far
> as I know, have ways of dealing with more complex dependencies in the
> residuals via permutations built into vegan other than permuting within
> animal, or maintaining temporal structure within animal (if you hack the
> code yourself using functions from permute).
>
> HTH
>
> G
>
>> thanks,
>> René
>>
>>
>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> Dr. Gavin Simpson [t] +44 (0)20 7679 0522
> ECRC, UCL Geography, [f] +44 (0)20 7679 0565
> Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
> Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/
> UK. WC1E 6BT. [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
>
>
More information about the R-help
mailing list