IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAS STAT Discussion :

ACM en couleur


Sujet :

SAS STAT

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut ACM en couleur
    Bonjour ,
    Est ce que c'est possible en présentant une ACM d'affecter à chaque variable une couleur différente.J'ai utilisé ce code pour avoir le graphique, simplement je l'ai eu en noir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    %macro ACM(var,base,titre);
    PROC corresp DATA=&base DIMENS=5  OUTC=ACM  MCA  ;
    TABLES &var  ;
    QUIT ;                       
    DATA graphe;
       SET ACM;
       x = dim1;
       y = dim2;
       xsys = '2';
       ysys = '2';
       xmin=-1;
      xmax=1;
      ymax=1;
      ymin=-1;
       text = _name_;
       size = 0.8;
       LABEL x = 'dimension 1';
       LABEL y = 'dimension 2';
       KEEP x y text xsys ysys size;
    RUN;
    Proc print data=graphe ; RUN ; 
    PROC GPLOT DATA = graphe;
    TITLE &titre;
      PLOT y*x / ANNOTATE = graphe href=0 vref=0 haxis=-2 to 2 vaxis=-2 to 2;
      SYMBOL1 v=none;
    RUN;
    quit;
    %mend;
    Qu'est ce que je dois ajouter s'il vous plait à ce code pour différencier les variables en couleur.

  2. #2
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    C'est bien possible. Ton annotate est incomplète. Je ne vois pas la variable color ni la variable function . Avec color tu peux utiliser un if pour dire si telle variable alors color=yellow sinon color = red. J'espère que tu comprends
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %macro PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )/ STORE DES="Réprésentation des individus et variable en AFC ou en ACM";
    DATA _Graph_;
    set &DATA;
    Pour cette macro je n'ai pas compris qu'est ce que je dois mettre pour ID et COND??

  4. #4
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par étudiant11 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %macro PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )/ STORE DES="Réprésentation des individus et variable en AFC ou en ACM";
    DATA _Graph_;
    set &DATA;
    Pour cette macro je n'ai pas compris qu'est ce que je dois mettre pour ID et COND??
    Attention! Ne pas confondre le code source de la macro et ton code.
    Le premier code que j'ai mis qui va de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %macro PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )
    jusqu'à est à compiler sans rien renseigner. Tu ne dois rien mettre dans DATA= ID= etc.... c'est pour créer la macro...
    Si tu compiles cela, tu vas mettre ce code pour réaliser tes tâches

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )
    C'est ici que tu renseignes tout.

    Pour comprendre chaque macro variables ID et COND, j'ai l'impression que tu n'as pas lu tout le blog sinon tout est expliqué. En bas du graphique il y a "En Lire plus" il faut cliquer pour lire tout le texte. Comme c'est un long texte, c'est juste une partie qui est affiché et après ça il y a ....

    Teste et confirme si ça marche
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    Merci de m'avoir répondu.
    J'ai mis le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    %macro PLOTCOR(DATA= , AXEH= ,AXEV= ,COND= )/ STORE DES="Réprésentation des individus et variable en AFC ou en ACM";
    DATA _Graph_;
    set &DATA;
    %if %length(&COND)^=0 %then;
    &COND;
    %end;
    run;
     
     
    data CORANNOT;
    length color $10.;
    length text $10.;
    length function $10.;
    set _Graph_;
    function="Label";
    position="1";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="VARSUP" then color="green";
    size=0.8;
    Output;
    function="Symbol";
    position="5";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    text="triangle";
    size=3*(SqCos&AXEH+SqCos&AXEV);
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="SUPVAR" then color="green";
    output;
    run; 
     
     
     
     
    goptions reset=all gunit=pct hsize=7 vsize= 7;
    axis1 minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEH");
    axis2  minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEV");
    symbol v=none;
    proc gplot data=CORANNOT;
    plot y*x=1/frame cframe=white href=0 vref=0 overlay annotate=CORANNOT grid haxis=axis1 vaxis=axis2;
    run;
    quit;
    proc datasets lib=work memtype=DATA  nolist;
    delete _Graph_ CORANNOT;
    run; 
    %mend Plotcor;
    Le seul changement que j'ai effectué est de ne pas mettre "ID"
    voila le message d'erreur que j'ai eu en faisant l'appel de la macro

    Nom : Capture.JPG
Affichages : 722
Taille : 24,5 Ko

  6. #6
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Mais tu as touché au code source de la macro?????? C'est normal que ça ne marche pas. Le code de la macro est à exécuter sans retrancher ni augmenter une lettre
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    Je n'ai pas compris à quoi ça sert ce ID c'est pour cette raison que je l'ai pas mis.

  8. #8
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par étudiant11 Voir le message
    Je n'ai pas compris à quoi ça sert se ID c'est pour cette raison que je l'ai pas mis.
    Parfait!!! Allons-y pas-à-pas.
    Lorsque tu as fait l'ACM avec proc corresp tu as mis une table de sortie dans OUT. Regarde dans le table et liste moi, s'il te plait, les noms des variables de cette table
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    voila le code que j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROC corresp DATA=Croix_q18_var_q19_var DIMENS=5 OUT=ACM1 MCA ;
    tables col1 col2;
    QUIT ;
    et voila les deux premières colonnes de ma table sortie
    Nom : Capture1.JPG
Affichages : 753
Taille : 52,3 Ko

  10. #10
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    OK Donc ce qui permet d'identifier les variables est _name_. Quand tu vas appeler la macro, tu mets ID=_name_.
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  11. #11
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    ok merci
    Mais j'ai eu le même message d'erreur
    Nom : Capture3.JPG
Affichages : 704
Taille : 20,7 Ko

  12. #12
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Ok il y a des erreurs. C'est justement ceux pourquoi je voulais qu'on teste. Chez moi, les macro ne sont pas Work. C'est pour quoi j'ai mis /Stored à la première ligne du code source. Mais toi, tu dois l'effacer.

    Par ailleurs, à la quatrième ligne, il ya %do que j'ai oublié %if %length(&COND)^=0 %then %do;

    Voici le code corrigé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    %macro PLOTCOR(DATA= , AXEH= ,AXEV= ,COND= )/ DES="Réprésentation des individus et variable en AFC ou en ACM";DATA _Graph_;
    set &DATA;
    %if %length(&COND)^=0 %then %do;
    &COND;
    %end;
    run;
     
     
    data CORANNOT;
    length color $10.;
    length text $10.;
    length function $10.;
    set _Graph_;
    function="Label";
    position="1";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="VARSUP" then color="green";
    size=0.8;
    Output;
    function="Symbol";
    position="5";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    text="triangle";
    size=3*(SqCos&AXEH+SqCos&AXEV);
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="SUPVAR" then color="green";
    output;
    run; 
     
     
     
     
    goptions reset=all gunit=pct hsize=7 vsize= 7;
    axis1 minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEH");
    axis2  minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEV");
    symbol v=none;
    proc gplot data=CORANNOT;
    plot y*x=1/frame cframe=white href=0 vref=0 overlay annotate=CORANNOT grid haxis=axis1 vaxis=axis2;
    run;
    quit;
    proc datasets lib=work memtype=DATA  nolist;
    delete _Graph_ CORANNOT;
    run; 
    %mend Plotcor;
    Toutes mes excuses et je vais corriger dans le blog. C'est justement ces séances qui vont nous permettre d'améliorer la macro..
    Teste et confirme si c'est bon.

    Cordialement,
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  13. #13
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    voila le résultat que j'ai eu
    Nom : Capture5.JPG
Affichages : 967
Taille : 71,9 Ko

  14. #14
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par étudiant11 Voir le message
    voila le résultat que j'ai eu
    Nom : Capture5.JPG
Affichages : 967
Taille : 71,9 Ko
    Tu n'as pas mis ID=_NAME_
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  15. #15
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    On Avait mis le code source que tu as modifié.
    C'est plutôt ça le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    %macro PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )/ DES="Réprésentation des individus et variable en AFC ou en ACM";DATA _Graph_;
    set &DATA;
    %if %length(&COND)^=0 %then %do;
    &COND;
    %end;
    run;
    
    
    data CORANNOT;
    length color $10.;
    length text $10.;
    length function $10.;
    set _Graph_;
    function="Label";
    position="1";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    text=&ID;
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="VARSUP" then color="green";
    size=0.8;
    Output;
    function="Symbol";
    position="5";
    when="B";
    x=Dim&AXEH;
    y=Dim&AXEV;
    xsys='2';
    ysys='2';
    text="triangle";
    size=3*(SqCos&AXEH+SqCos&AXEV);
    if _TYPE_="OBS" then color="blue";
    else if _TYPE_="VAR" then color="red";
    else if _TYPE_="SUPVAR" then color="green";
    output;
    run; 
    
    
    
    
    goptions reset=all gunit=pct hsize=7 vsize= 7;
    axis1 minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEH");
    axis2  minor=none offset=(4,4) major=(h=0.1 w=1) label=("Axe&AXEV");
    symbol v=none;
    proc gplot data=CORANNOT;
    plot y*x=1/frame cframe=white href=0 vref=0 overlay annotate=CORANNOT grid haxis=axis1 vaxis=axis2;
    run;
    quit;
    proc datasets lib=work memtype=DATA  nolist;
    delete _Graph_ CORANNOT;
    run;  %mend Plotcor;
    Pour l'appeler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PLOTCOR(DATA= ,ID= ,AXEH= ,AXEV= ,COND= )
    Cordialement,
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  16. #16
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    Je l'ai ajouté et voila le résultat

    Nom : Capture4.JPG
Affichages : 765
Taille : 73,7 Ko

  17. #17
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    C'est quand même bizarre, je viens d'essayer et ça a marché. Tu as vraiment des observations dans la table ou bien des variables? parce que tu as mis if type in ("OBS"). Si c'est des variables que tu as, tu doit mettre "VAR". Il faut voir dans la table les valeurs prises par la variable _type_.

    "OBS" si c'est individu
    "SUPOBS" Si c'est individu supplémentaire
    "VAR" si c'est variable
    "SUPVAR" si c'est variable supplémentaire

    De plus, tu n'as pas fermé la parenthèse. tu as ouvert la parenthèse deux fois mais tu as fermé une fois. A la fin quand tu appelles la macro, tu dois fermer la parenthèse deux fois
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  18. #18
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Où en es tu avec ton analyse?
    Tu peux toujours poser des questions si tu n'est pas satisfaite.
    Je voulais te dire aussi que axeh=2, axev=2 ne te donnera rien de bon mais tu auras des points sur la diagonale.
    Normalement c'est axeh=1,axev=2 pour visualiser sur les deux premiers axes. EN tout cas, tu mets le numéro du premier axe que tu veux visualiser dans axeh et le second dans axev. Il ne faut pas mettre les mêmes numéros dans les deux.
    Quand moi je fais une analyse et que je retiens 3 axes, je fais deux graphiques: le premier avec axeh=1,axev=2 et le second avec axeh=1,axev=3
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  19. #19
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 94
    Points : 101
    Points
    101
    Par défaut
    Votre code m'a permis d'avoir le résultat mais le graphe que j'ai eu n'est pas trop clair et j n'ai pas de différents couleur pour chaque variable toutes les observations de toutes les variables sont en rouge
    Nom : vvvvv.jpg
Affichages : 809
Taille : 77,6 Ko
    la macro que j'ai utilisée me donne aussi le résultat un peu plus clair mais tous en noir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    %macro ACM(var,base,titre);
    PROC corresp DATA=&base DIMENS=5  OUTC=ACM  MCA  ;
    TABLES &var  ;
    QUIT ;                       
    DATA graphe;
       SET ACM;
       x = dim1;
       y = dim2;
       xsys = '2';
       ysys = '2';
       xmin=-1;
      xmax=1;
      ymax=1;
      ymin=-1;
       text = _name_;
       size = 1.2;
       LABEL x = 'dimension 1';
       LABEL y = 'dimension 2';
       KEEP x y text xsys ysys size;
    RUN;
    Proc print data=graphe ; RUN ; 
    PROC GPLOT DATA = graphe;
    TITLE &titre;
      PLOT y*x / ANNOTATE = graphe href=0 vref=0 haxis=-0.8 to 0.8 vaxis=-2 to 2;
      SYMBOL1 v=none;
    RUN;
    quit;
    %mend;
    Nom : vvvv2.jpg
Affichages : 793
Taille : 29,2 Ko

  20. #20
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Oui je vois.
    C'est pour ça que j'ai laissé le code de la macro sinon j'aurais pu donner seulement les catalogues. C'est à toi de modifier les couleurs que j'ai mises au niveau de OBS VAR .... Moi j'ai mis red partout, mais toi en fonction de ce que tu veux, tu peux mettre green, yellow etc... Toujours dans mon blog tu verras que le nuage des individus que j'ai eu avec l'ACP a plusieurs couleurs.
    Malheureusement, on ne peut pas créer une macro pour que SAS gère les couleurs automatiquement, c'est la seule possibilité. L'image ci-joint est issue du même code. Juste que j'ai changer les couleurs.

    Bon courage
    Images attachées Images attachées  
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2014, 15h25
  2. ACM : graphique avec couleurs différentes
    Par canaris dans le forum SAS STAT
    Réponses: 4
    Dernier message: 17/03/2014, 21h08
  3. Réponses: 0
    Dernier message: 26/08/2009, 18h39
  4. Mixage de Couleurs
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 29/05/2002, 13h34
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo