Margot Neyret
2017-Jun-21 13:56 UTC
[R] Permutations in RDA for repeated measures, using how()
Dear all, I am using RDA to study plant communities in various land uses (variable LU with values M, U, etc.). For each land use, I sample 3 to 5 fields (M1, M2, U1, U2, etc). I make 5 measurements for both plant communities and environmental variables in each field. I repeat the process every 6 months to study the effect of time and season (D16 for dry season 2017, R16 for rainy season 2016, etc). For field M1 for instance, I have the values for the field_in_season M1-D16, M1-R16, M1-D17. My 5 measurements are interdependent; and there is also temporal dependance for the field_in_season within the fields. When I want to test the significance of my RDA, I should thus constrain the permutation to take this into account. If I am correct (if not please tell me so), in linear models I should write :> lme(Y ~ X, random = ~1|Field_in_season/Field)>From various reads, I understand that in RDA I should not only use the strata = Plot argument, but allow for permutation of measurements within field_in_season, and for permutations among Field_in_season. So that would be :> rda_repeated = anova(rda(Community~LU + Humidity, data = env), by = 'term', permutation = how(within = Within(type = "series", mirror = TRUE), plots = Plots(strata = Field_in_season, type = "series"), blocks = Field))Is that right ? In the output I get very similar results and ?Permutation : free? in both cases, which dos not seem right. Thanks, Margot ?????? ??????> Community = matrix(ncol = 10,nrow = 1350) > colnames(Community) = letters[1:10] > for (i in letters[1:10]){ > Community[,i] = rpois(135, 3)}> Season = rep(c('D16', 'R16','D17'), each = 450) > LU = rep(c('M', 'U', 'O'), each = 15, length.out = 1350) > Field = paste(LU, rep(c(1:3), each = 50), sep = '') > Field_in_season = paste(Field,Season, sep = '-') > Humidity = rnorm(n=1350, mean = 100) > env = data.frame(Season, LU, Field, Field_in_season)> library(FactoMineR)> anova(rda(Community~LU + Humidity, data = env), by = 'term?) # Without specification for permutations> anova(rda(Community~LU + Humidity, data = env), by = 'term?, # With restricted permutationspermutation = how(within = Within(type = "series", mirror = TRUE), plots = Plots(strata = Field_in_season, type = "series"), blocks = Field)) Permutation test for rda under reduced model Terms added sequentially (first to last) Permutation: free Number of permutations: 999 Model: rda(formula = Community ~ LU + Humidity, data = env) Df Variance F Pr(>F) LU 2 0.4427 9.7954 0.001 *** Humidity 1 0.0283 1.2508 0.247 Residual 1346 30.4150 --- Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1 [[alternative HTML version deleted]]