Je suis étudiante en Master 1 et dans le cadre de mon stage je dois réaliser une analyse triadique partielle ayant des données sur plusieurs sites et plusieurs années. Tout fonctionne correctement sauf la représentation globale avec ces lignes de commande :
s.class(ptaA$Tco,ptaA$TC[,2],lab=listeD$SITE, clabel=0.7, csub=1, col = couleur1, cellipse = 1.5, axesell = F)
s.label(ptaA$Tco,lab=listeD$DATE, clabel=0.7, add.plot=T, boxes=F) #ajout des libellés des années
Une représentation s'affiche mais sans aucun "trait" entre mes dates et mes sites, les années se superposent sur mes sites ce qui rend le graphique illisible.
De plus, il me semble qu'une représentation en trajectoire existe mais je ne trouve pas quelle fonction permet de la réaliser?
Voici mon script et des données (raccourcies et fausses) :
Code : Tout sélectionner
library(ade4)
datexvar <- read.table("dateXvar.test.txt", h=T) #classé en fonction des dates
datexvar$DATE<-as.factor(datexvar$DATE)
datexvar$SITE<-as.factor(datexvar$SITE)
summary(datexvar)
listeD <- read.table("ListeD.test.txt", h=T)
listeD$DATE=as.factor(listeD$DATE)
listeD$SITE=as.factor(listeD$SITE)
summary(listeD)
pcaA <- withinpca(datexvar[,3:7],listeD$DATE,scal="partial",scann=F)
ktaA <- ktab.within(pcaA)
col.names(ktaA) <- rep(paste("Site",1:29,sep=""),5)
ptaA <- pta(ktaA,scannf=F,nf=2)
inertia.dudi(ptaA,row=T)
ptaA$eig[1]/sum(ptaA$eig)*100 #[1] 49.2751
ptaA$eig[2]/sum(ptaA$eig)*100 #[1] 36.97872
plot(ptaA)
couleur1 <- c("springgreen1", "slateblue2", "red3", "purple", "skyblue3", "chocolate1", "green3", "blue") #choix des couleurs pour chaque site
s.class(ptaA$Tco,ptaA$TC[,2],lab=listeD$SITE, clabel=1, col = couleur1, csub=1)#graph avec regroupement 'star'
s.class(ptaA$Tco,ptaA$TC[,2],lab=listeD$SITE, clabel=0.7, csub=1, col = couleur1, cellipse = 1.5, axesell = F) #idem avec ellipse
s.label(ptaA$Tco,lab=listeD$DATE, clabel=0.7, add.plot=T, boxes=F) #ajout des libellés des années
Un contenu d'exemple de tableau que j'ai (faux et plus petit) correspondant au datexvar :
structure(list(DATE = c(2000L, 2000L, 2000L, 2001L, 2001L, 2001L,
2002L, 2002L, 2002L), SITE = c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L,
3L), VAR1 = c(2L, 4L, 5L, 7L, 4L, 2L, 4L, 3L, 1L), VAR2 = c(3L,
3L, 6L, 2L, 4L, 8L, 2L, 3L, 8L), VAR3 = c(4L, 5L, 4L, 4L, 4L,
3L, 1L, 4L, 3L), VAR4 = c(3L, 3L, 6L, 2L, 4L, 7L, 2L, 4L, 1L),
VAR5 = c(4L, 5L, 4L, 4L, 4L, 3L, 3L, 4L, 3L)), .Names = c("DATE",
"SITE", "VAR1", "VAR2", "VAR3", "VAR4", "VAR5"), class = "data.frame", row.names = c(NA,
-9L))
Le contenu de listeD:
structure(list(DATE = c(2000L, 2000L, 2000L, 2001L, 2001L, 2001L,
2002L, 2002L, 2002L), SITE = c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L,
3L)), .Names = c("DATE", "SITE"), class = "data.frame", row.names = c(NA,
-9L))
Je ne peux pas faire plus court... ce sont donc les 3 dernières lignes de codes qui ne fonctionnent pas (pas d'erreur mais mauvaise représentation).
En espérant que quelqu'un puisse m'aider sur ces questions...