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

ODS et reporting Discussion :

[SGPLOT] Comment réaliser un simple graphique de moyennes ?


Sujet :

ODS et reporting

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut [SGPLOT] Comment réaliser un simple graphique de moyennes ?
    Salut,

    Autant vous le dire tout de suite : je suis nul en graphiques SAS. Vous allez le comprendre en lisant les lignes suivantes puisque ce que je vous demande aurait vraisemblablement mérité d'être dans la section "Débutez".

    Voilà j'ai un jeu de données avec des identifiants, un numéro de visite, une valeur et un groupe :

    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
    data donnees;
    input id visite valeur grp;
    cards;
    1	1	50	1
    1	2	55	1
    1	3	50	1
    1	4	25	1
    2	1	25	2
    2	2	25	2
    2	3	29	2
    2	4	20	2
    3	1	85	1
    3	2	67	1
    3	3	90	1
    3	4	75	1
    4	1	15	2
    4	2	29	2
    4	3	18	2
    4	4	35	2
    ;
    run;
    Je veux juste faire un graphe montrant l'évolution de la moyenne à chaque visite. Je verrai ensuite comment différencier par groupe quand j'aurais tout compris à la base de la base.
    J'utilise pour l'instant un macro-programme (que je n'ai pas écrit) et qui permet de faire ça (et plus) avec la PROC GPLOT mais j'aimerai m'initier aux graphiques sur SAS et la PROC SGPLOT qui je suis sûr pourra m'être très utile dans le futur.

    Sur le site de SAS j'ai trouvé un programme permettant de faire ça et même plus mais l'auteur a calculé les moyennes au moyen d'une PROC MEANS. Je suis sûr que l'on peut faire sans.
    Pouvez-vous me donner une piste pour démarrer ?

    Pour l'instant je tape ça et ça me donne absolument n'importe quoi (en tout cas pas ce que je veux) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sgplot data=donnees;
         series y=valeur x=visitee;
    run;
    Merci pour votre aide,

    alers

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Plutôt comme ça alors

    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
    DATA donnees;
    input id visite valeur grp;
    datalines;
    1 1 50 1
    1 2 55 1
    1 3 50 1
    1 4 25 1
    2 1 25 2
    2 2 25 2
    2 3 29 2
    2 4 20 2
    3 1 85 1
    3 2 67 1
    3 3 90 1
    3 4 75 1
    4 1 15 2
    4 2 29 2
    4 3 18 2
    4 4 35 2
    ;
    run;
     
    proc sgplot data=donnees;
    vbar visite/stat=mean response=valeur ;
    run;
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Bonjour et merci pour ta réponse,

    Je souhaite en fait avoir un point à chaque date et les relier (et mettre les intervalles de confiance aussi, mais ça je verrai plus tard). Pas des barres. Est-ce possible avec la PROC SGPLOT ?

    alers

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    En fait j'ai trouvé pour ça, il fallait mettre TIME=LINEAR et pas TIME=DISCRETE.

    Aussi, comment se fait-il que mes premiers ticks (0 en ordonnée, 1 en abscisse) ne soient pas pile à l'intersection des deux axes mais à côté ?

    Pour modifier mes couleurs comme je le souhaite (sur le graphe c'était visiblement par défaut), je vois sur la FAQ du site Developpez.com qu'il faut utiliser l'option DATTRMAP. J'essaie ça.

    Merci

    alers
    Images attachées Images attachées  

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Salut !

    Bon alors je progresse mais j'ai encore des problèmes.

    Le DATTRMAP fonctionne pas mal du tout. Je peux aisément changer les couleurs de mes courbes. En revanche, j'utilise le statement SCATTER (pour avoir mes points) avec les options suivantes :
    yerrorlower=lower
    yerrorupper=upper
    markerattrs=(symbol=CircleFilled)

    Histoire d'avoir mes intervalles de confiance et aussi mes moyennes visibles à chaque point.

    Mon problème : les couleur de mon DATTRMAP ne fonctionnent que pour les courbes, pas pour les points (markerattrs), ni pour les barres d'intervalles. Comment faire ?

    A part ça, j'ai le même soucis qu'avant pour retirer des ticks. Je pensais utiliser les options classiques avec les "axis1". Je sais le faire fonctionner avec la PROC GPLOT mais visiblement pas avec SGPLOT. Quelqu'un a une idée ?

Discussions similaires

  1. Réponses: 13
    Dernier message: 13/05/2014, 10h58
  2. Réponses: 1
    Dernier message: 19/08/2008, 11h15
  3. Réponses: 2
    Dernier message: 09/08/2006, 14h02
  4. comment creer une simple application graphique.
    Par pug dans le forum Interfaces Graphiques en Java
    Réponses: 23
    Dernier message: 25/11/2005, 02h05

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