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 :

Gchart HBAR afficher les proportions (équivalent de "inside" pour les vbar)


Sujet :

ODS et reporting

  1. #1
    Membre régulier
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 79
    Points
    79
    Par défaut Gchart HBAR afficher les proportions (équivalent de "inside" pour les vbar)
    Bonjour à tous,

    Je souhaite représenter graphiquement les réponses à un ensemble de 20 questions, et ce, selon le sexe des répondants.
    Chaque question a 4 modalités de réponse possibles (de 0="jamais" à 3="toujours"), et le sexe n'a évidemment que 2 modalités (homme/femme).
    Je désire donc générer des histogrammes empilés, et obtenir pour chaque question deux barres empilées (une pour chaque sexe) représentant les proportions de répondants à chaque modalité de réponse.
    Aussi, j'aimerais que les proportions de chaque modalité de réponse (et pour chaque sexe) soient mentionnées à l'intérieur de chacune des barres.
    Je parviens à faire cela avec des barres verticales (grâce aux l'option inside et outside), mais mon soucis est qu'il me faudrait obtenir des barre horizontales (et je n'arrive pas à afficher les % de chaque barres)!!!
    Voici ce que j'obtiens :
    Nom : Sans titre.png
Affichages : 813
Taille : 5,5 Ko
    N'y a t'il pas d'équivalent aux options "inside" et "outside" pour les barres horizontales ????

    Voici le code que j'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    pattern1 c=CXFFFF00; pattern2 c=CXFFFF99; pattern3 c=CXCC9900; pattern4 c=CX663300;
    legend1 frame label=none; 
    axis1 value=none label=none;
    axis2 minor=none;
    axis3 label=none;
    proc gchart data=mesDATA;
         hbar SEXE / discrete noframe type=pct subgroup=question1 /*(question2, question3..., question20)*/ midpoints=1 to 2 by 1
         g100 group=SEXE nozero gaxis=axis1 raxis=axis2 maxis=axis3 cframe=ligr /*inside=pct outside=PCT*/ nostat;
    format SEXE f_sexe. question1 question2 question3 ... question20 f_depression.; 
    run;

    Merci d'avance à ceux qui m'aideront !!!

    Guyguy

  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
    Bonjour je suis vraiment désolé qu'il ni a pas de réponse jusque là.
    J'ai une proposition à vous faire mais qui marche seulement avec une proc sgplot (disponible à partir de 9.3 je pense. Je ne suis pas sûr si le 9.2 a la procédure).

    J'ai une base avec une variable Sexe ayant les modalité 0 et 1, et une variable occup ayant 0 1 2. Je veux faire exactement le graphique mais en affichant les pourcentages. Vous avez utilisé l'option g100 pour calculer les fréquences par modalité. La proc sgplot n'a pas l'option g100. Donc on écrit ce code d'abord

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    proc sgplot data=Local.Base_menage;hbar Sexe / group=Occup SEGLABEL STAT=Percent;
    run;
    On aura donc un truc du genre

    Nom : 1.PNG
Affichages : 863
Taille : 10,6 Ko

    Pour avoir les fréquence par modalité, je les calcule manuellement. J'utilise donc une proc freq avec l'option by

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    proc sort data=Local.Base_menage; by sexe; *Il faut trier d'abord la table selon le sexe avant d'utiliser by sexe dans la proc freq*;
     
    proc freq data=Local.Base_menage noprint;
    by Sexe;                   
    tables Occup / out=FreqOut;   
    run;
    Je repends alors le graphe en utilisant les fréquences calculées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    proc sgplot data=FreqOut;hbar Sexe / group=Occup SEGLABEL response=Percent;
    run;
    Nom : 2.PNG
Affichages : 790
Taille : 10,1 Ko

    J'espère que ceci vous aidera.
    • 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
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 79
    Points
    79
    Par défaut super + merci
    Merci beaucoup Haache,

    Je suis parvenu à faire ce que je souhaitais grâce à votre proposition !!
    Merci encore pour votre aide précieuse.

    Vous souhaitant une agréable journée, je vous dis à bientôt

    Guyguy.

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

Discussions similaires

  1. [XL-2007] Extraire toutes les valeurs d'une Listbox pour les afficher dans un commentaire
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2013, 19h12
  2. Existe-t-il un équivalent de "Loop" pour les boucles "For"
    Par statista dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 04/04/2011, 14h32
  3. Réponses: 1
    Dernier message: 08/02/2009, 16h43
  4. [rouillé]équivalent contains Java pour les vector C++?
    Par Mr Pink Eyes dans le forum SL & STL
    Réponses: 10
    Dernier message: 29/12/2007, 23h43
  5. Quel est l'équivalent de Findcomponent pour les Forms ?
    Par Ben_Le_Cool dans le forum Composants VCL
    Réponses: 12
    Dernier message: 23/09/2005, 13h48

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