Problème de représentation d'analyse triadique partielle

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Justine Royer
Messages : 3
Enregistré le : 24 Avr 2018, 07:11

Problème de représentation d'analyse triadique partielle

Messagepar Justine Royer » 24 Avr 2018, 07:37

Bonjour,

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...

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Problème de représentation d'analyse triadique partielle

Messagepar Serge Rapenne » 24 Avr 2018, 08:31

Bonjour,

Un peu de lecture : viewtopic.php?f=1&t=7638 et viewtopic.php?f=1&t=3302

Serge

Justine Royer
Messages : 3
Enregistré le : 24 Avr 2018, 07:11

Re: Problème de représentation d'analyse triadique partielle

Messagepar Justine Royer » 25 Avr 2018, 08:59

Quelqu'un a pu m'aider, c'était un soucis d'argument sur ptaA$TC[,2] qui n'était pas bon. Il m'a proposé comme solution :
sitefac<-as.factor(rep(c(1:29),5)) # car dans mon jeu d'origine j'ai 29 sites et 5 années
s.class(ptaA$Tco,sitefac,lab=listeD$SITE, clabel=0.7, cellipse = 0) #graph avec regroupement 'star'
s.class(ptaA$Tco,sitefac,lab=listeD$SITE, clabel=0.7, csub=1, 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


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité