Re: error s.arrow

From: Stéphane Dray (dray@biomserv.univ-lyon1.fr)
Date: Tue Sep 20 2005 - 09:39:33 MEST


Bonjour,
a mon avis, cela peut venir du fait qu'il y a de la collinéarité dans
vos variables. Dans ce cas, il n'y a pas de coefficient pour toutes les
variables car la solution n'est pas unique. Un exemple:
> a=data.frame(matrix(runif(50),10,5))
> b=data.frame(matrix(rnorm(20),10,2))
> b2=cbind(b,b[,1]+b[,2])

> iv1=cca(a,b,scan=F)
> iv2=cca(a,b2,scan=F)

> iv1$fa
                      RS1 RS2
(Intercept) -1.027377e-17 3.206681e-17
X1 -7.235288e-02 4.461820e-02
X2 3.877041e-02 5.951930e-02

> iv2$fa
                          RS1 RS2
(Intercept) -1.027377e-17 3.206681e-17
X1 -7.235288e-02 4.461820e-02
X2 3.877041e-02 5.951930e-02
b...1....b...2. NA NA

Dans ADE-4 classique, si je me souviens bien, la fonction ne renvoyait
pas de coefficient si la solution n'était pas unique. Dans la version R,
on en renvoie une. Comme a et b sont deja entré dans le modele, la
combinaison lineaire a+b ne rajoute pas d'information et a un
coefficient NA.
De la même manière, si on a un facteur avec 3 niveaux, on aura seulement
2 coefficients. Deux categories sont suffisantes pour connaitre la 3eme,
et par defaut, R considere la premiere categorie comme niveau de base
(contr.treatment), on peux en changer (voir contrasts). Pour les
variables quantitatives, R mettra des coefficients aux premières
variables puis des NA pour les suivantes si il y a de la collinéarité:

> b3=b2[,c(3,2,1)]
> iv3=cca(a,b3,scan=F)
> iv3$fa
                          RS1 RS2
(Intercept) -3.426153e-17 4.821345e-17
b...1....b...2. -1.112143e-01 6.858306e-02
X2 1.529537e-01 -1.089465e-02
X1 NA NA

Est-ce la bonne réponse ?
Cordialement.

dlo.ins wrote:

> Bonjour,
>
> lors d'une CCA avec ADE4 sous R la commande "s.arrow(iv1$fa)" me
> renvoi "Error in plot.window(xlim, ylim, log, asp, ...) :
> need finite 'xlim' values". Quelqu'un a une idée de quoi ça vient ?
>
> Merci d'avance
>
>

-- 
Stéphane DRAY (dray@biomserv.univ-lyon1.fr )
Laboratoire BBE-CNRS-UMR-5558, Univ. C. Bernard - Lyon I
43, Bd du 11 Novembre 1918, 69622 Villeurbanne Cedex, France
Tel: 33 4 72 43 27 57       Fax: 33 4 72 43 13 88
http://www.steph280.freesurf.fr/ 



This archive was generated by hypermail 2b30 : Tue Oct 18 2005 - 10:35:40 MEST