[ADE4] Comment rendre un s.cocircle lisible

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

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

[ADE4] Comment rendre un s.cocircle lisible

Messagepar Jean-Emmanuel Longueville » 31 Oct 2019, 11:50

Bonjour,
J'ai réalisé une ACM, avec 24 variables.
Quand je tente un

Code : Tout sélectionner

s.corcircle(acm$co, 1, 2, clabel = 0.7, box = FALSE, sub = "H: 1 et V:2")


L'argument box pourtant décrit dans la documentation n'a aucun effet. Auriez vous une piste de pourquoi ?
Merci
Jean-Emmanuel
Ingénieur d'étude LNEC

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Eric Casellas » 31 Oct 2019, 12:43

Bonjour,

l'option semble marcher correctement chez moi sur cet exemple :

Code : Tout sélectionner

library(ade4)
data (olympic)
dudi1 <- dudi.pca(olympic$tab, scan = FALSE) # a normed PCA
s.corcircle(dudi1$co, lab = names(olympic$tab), box=TRUE)
s.corcircle(dudi1$co, lab = names(olympic$tab), box=FALSE)


Pour pouvoir t'aider il me semble qu'il faudrait avoir un exemple reproductible de ton soucis (voir http://forums.cirad.fr/logiciel-R/viewtopic.php?f=1&t=7638) et potentiellement les différentes versions (de R et des paquets) que tu utilise... (sessionInfo())

chez moi j'ai :

Code : Tout sélectionner

> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.6 LTS

Matrix products: default
BLAS:   /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C               LC_TIME=fr_FR.UTF-8        LC_COLLATE=fr_FR.UTF-8   
 [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8    LC_PAPER=fr_FR.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ade4_1.7-13

loaded via a namespace (and not attached):
[1] MASS_7.3-51.4  compiler_3.6.1 tools_3.6.1    packrat_0.5.0


Eric
Eric

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Jean-Emmanuel Longueville » 31 Oct 2019, 14:59

Voici un ecm :

Code : Tout sélectionner

library(ade4)

data(ours)
acm <- dudi.acm(ours, scan = FALSE)
s.corcircle(acm$co, 1, 2, clabel = 0.7, box = FALSE, sub = "Box = F")
s.corcircle(acm$co, 1, 2, clabel = 0.7, box = TRUE, sub = "Box = T")


Pour les informations je les posterais ce soir.
Jean-Emmanuel
Ingénieur d'étude LNEC

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Eric Casellas » 31 Oct 2019, 15:05

Ton ecm semble fonctionner comme il doit chez moi (avec box=TRUE il y a bien un encadré de l'ensemble du plot)...
Eric

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Jean-Emmanuel Longueville » 31 Oct 2019, 16:16

L'encadré est censé être autours des labels non ?
C'est le cadre autours de chaque label que je cherche à supprimer.
Jean-Emmanuel
Ingénieur d'étude LNEC

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Eric Casellas » 06 Nov 2019, 11:23

Salut,

De ce que j'en vois j'ai plutôt l'impression que l'option "box" concerne le cadre du plot global et pas ceux des labels, je n'ai rien vu concernant cet aspect des label dans la doc...

Eric
Eric

François Bonnot
Messages : 537
Enregistré le : 10 Nov 2004, 15:19
Contact :

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar François Bonnot » 06 Nov 2019, 15:17

Bonjour,
Une suggestion :
1) Charger le code de la fonction s.corcircle dans un fichier texte et l'éditer avec son éditeur préféré
2) Changer la première ligne

Code : Tout sélectionner

function (dfxy, xax = 1, yax = 2, label = row.names(df), clabel = 1,

en

Code : Tout sélectionner

s.mycorcircle <- function (dfxy, xax = 1, yax = 2, label = row.names(df), clabel = 1,

3) Changer la ligne suivante (avec ma version, c'est la 6ème ligne avant la fin) :

Code : Tout sélectionner

scatterutil.eti.circ(x, y, label, clabel, origin)

en :

Code : Tout sélectionner

scatterutil.eti.circ(x, y, label, clabel, origin, boxes=FALSE)

4) Sauver le fichier et le charger dans R
5) Exécuter

Code : Tout sélectionner

s.mycorcircle(acm$co, 1, 2, clabel = 0.7, sub = "H: 1 et V:2")
François

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: [ADE4] Comment rendre un s.cocircle lisible

Messagepar Mickael Canouil » 07 Nov 2019, 13:22

Bonjour,

avez-vous regardé du côté du package factoextra ? Production d'objet ggplot2, offrant de ce fait l'accès à tout l'écosystème lié (ggforce, etc.)

https://rpkgs.datanovia.com/factoextra/index.html

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité