At 20:33 16/10/2004 +0200, Patrick Giraudoux wrote:
>Ayant repéré le package pls.pcr dans R, ma dernière question tombe à l'eau... Ma première question et deuxième question restent entière. J'ai bricolé un test de permutation prenant en valeur observée de référence la somme des VP sum(pcaiv()$eig)... L"hypothèse nulle posée: cette somme est le résultat de permutations aléatoires des lignes du tableau des variables "indépendantes", deuxième argument passé dans pcaiv(). Suis je dans les piquets?
>
Mais certainement, cher collègue. Vous êtes dans les piquets et même plus : tout est prêt pour vous faciliter la vie.
Exemple
data(rhone)
pca1 <- dudi.pca(rhone$tab, scan = FALSE, nf = 3)
iv1 <- pcaiv(pca1, rhone$disch, scan = FALSE)
obs = sum(iv1$eig)
Vous avez calculé votre valeur observée
sim=unlist(lapply(1:100,function(x) sum(pcaiv(pca1,
rhone$disch[sample(nrow(pca1$tab)),], scan = FALSE)$eig)))
Une ligne suffit pour calculer la même statistique après 100 permutations des lignes du tableau explicatif
montest <- as.randtest(sim,obs)
Assembler la simulation et l'observation dans un objet qui sera de la classe randtest
montest
Ceci vous éditera la p-value communément admise pour ce type de test
plot(montest)
Ceci vous en dira bien plus.
Un seul ennui et c'est pourquoi j'ai dit que ce n'était pas programmé : c'est long. La vraie fonction devrait faire le calcul avec en C comme dans
mantel.randtest
multispati.randtest
procuste.randtest
randtest.amova
randtest.between
randtest.coinertia
randtest.discrimin
randtest.rlq
Inversement, c'est l'indication claire que chacun peut définir et exploiter les tests de permutations qui lui conviennent.
Daniel Chessel - chessel@biomserv.univ-lyon1.fr
This archive was generated by hypermail 2b30 : Sun Oct 17 2004 - 14:34:19 MEST