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 :

Proc report et calculs d'intervalle de confiance


Sujet :

ODS et reporting

  1. #1
    Membre actif
    Inscrit en
    Juillet 2010
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 199
    Points : 214
    Points
    214
    Par défaut Proc report et calculs d'intervalle de confiance
    Bonjour,


    J'ai deux variables Q1 (caractère) et ancien (numérique).

    Q1 : 1,2,3
    ancien : 1 à 100 avec un format num (0-1; 1-3; 3 et +);

    Je voudrais faire un tableau croisé de ancien (0-1,1-3,3 +) en ligne croisé par Q1 (1 2 3) en colonne. Dans ce tableau n'apparaitrait que les pourcentage en colonne avec les intervalles de confiance à 95% et 99%.

    J'ai essayé la tabulate je n'ai pas réussi J'ai essayé avec une report ss plus de succès.

    Voici mon 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
    PROC REPORT DATA = test_corr NOWD ;
    COLUMNS recod anciennete anciennete=et ic ;
    DEFINE recod / GROUP ACROSS;
    DEFINE anciennete / GROUP  ;
    DEFINE anciennete/ ANALYSIS MEAN FORMAT=5.1 ;
    DEFINE et / ANALYSIS STDERR NOPRINT ;
    DEFINE ic / COMPUTED "Intervalle de confiance à 95%" ;
    COMPUTE ic / CHARACTER LENGTH=15 ;
    ic = CAT("[",
    PUT(anciennete.mean-et*PROBIT(.975), 5.1),
    " ; ",
    PUT(anciennete.mean+et*PROBIT(.975), 5.1),
    "]") ;
    ENDCOMP ;
    format anciennete ancien. recod $nps.  ;
    RUN ;
    Quelqu'un aurait-il une solution ?

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Dans ton code ANCIENNETE est à la fois une variable GROUP et une variable ANALYSIS. Ca ne peut pas coller, il faudrait un alias de plus.
    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
    PROC FORMAT ;
      VALUE age
        LOW-14 = "Petits"
    	OTHER  = "Ados" ;
    RUN ;
    PROC REPORT DATA=sashelp.class NOWD ;
      COLUMNS sex age age=m age=et ic ;
      DEFINE sex / GROUP ;
      DEFINE age / GROUP FORMAT=age. ;
      DEFINE m / ANALYSIS MEAN NOPRINT ;
      DEFINE et / ANALYSIS STDERR NOPRINT ;
      DEFINE ic / COMPUTED "Intervalle de confiance à 95%" ;
    COMPUTE ic / CHARACTER LENGTH=15 ;
    ic = CAT("[",
    PUT(m-et*PROBIT(.975), 5.1),
    " ; ",
    PUT(m+et*PROBIT(.975), 5.1),
    "]") ;
    ENDCOMP ;
    RUN ;
    Mais on ne peut pas mélanger ça avec un ACROSS.
    Il faudrait avoir fait tous les calculs avant : genre une proc MEANS qui crée une table, tu finis les calculs d'intervalle de confiance (ou tu fais 2 proc MEANS en changeant ALPHA pour avoir les IC à 95% et 99%) dans une étape DATA, et ensuite, proc REPORT.
    Quelque chose comme :
    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
    PROC FORMAT ;
      VALUE age
        LOW-14 = "Petits"
    	OTHER  = "Ados" ;
    RUN ;
    PROC MEANS DATA=sashelp.class NOPRINT NWAY ;
      VAR age ;
      CLASS age sex ;
      FORMAT age age. ;
      OUTPUT OUT=work.stats N=n MEAN=m STDERR=et ;
    RUN ;
    DATA work.stats ;
      SET work.stats ;
      inf95 = m-et*PROBIT(1-.05/2) ;
      sup95 = m+et*PROBIT(1-.05/2) ;
      inf99 = m-et*PROBIT(1-.01/2) ;
      sup99 = m+et*PROBIT(1-.01/2) ;
    RUN ;
    PROC REPORT DATA=work.stats NOWD ;
      COLUMNS ("Sexe" sex) age,(("Intervalle de confiance à 95%"
    				   inf95 sup95)
                       ("Intervalle de confiance à 99%"
    				   inf99 sup99)
                       ("% colonne" n));
      DEFINE sex / GROUP " " ;
      DEFINE age / ACROSS FORMAT=age. " " ;
      DEFINE inf95 / FORMAT=5.1 ANALYSIS SUM " " ;
      DEFINE sup95 / FORMAT=5.1 ANALYSIS SUM " " ;
      DEFINE inf99 / FORMAT=5.1 ANALYSIS SUM " " ;
      DEFINE sup99 / FORMAT=5.1 ANALYSIS SUM " " ;
      DEFINE n / ANALYSIS PCTSUM FORMAT=NLPCTN12. " ";
    RUN ;
    Bon courage.
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre actif
    Femme Profil pro
    Analyste en Intelligence d'Affaires (BI)
    Inscrit en
    Avril 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste en Intelligence d'Affaires (BI)
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 245
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Désolée de réouvrir un ancien sujet, mais il ressemble tellement à ce que je souhaite...le seul hic c'est que dans ma problématique je voudrais IC de la proportion et pas celui de la moyenne...tentative infructueuse avec la proc tabulate.

    Merci d'avance.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2012, 15h01
  2. RR et intervalle de confiance sur proc glimmix
    Par audreyréa dans le forum SAS STAT
    Réponses: 1
    Dernier message: 31/10/2011, 13h40
  3. Réponses: 2
    Dernier message: 04/10/2011, 15h55
  4. intervalle de confiance et proc power
    Par Elcocco dans le forum SAS STAT
    Réponses: 0
    Dernier message: 22/07/2011, 17h22
  5. Réponses: 2
    Dernier message: 31/01/2011, 11h00

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