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 Base Discussion :

Différences de moyennes -- obtenir des p dans des tables croisées?


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Différences de moyennes -- obtenir des p dans des tables croisées?
    Bonjour,

    J'aimerais trouver un moyen pour afficher dans une même table:

    1- les statistiques de plusieurs variables dépendantes, ventilées selon différentes variables catégorielles.
    2- la valeur de p pour le test de différence de moyennes (anova/t) pour chaque croisement (chaque ventilation ou paire de variables).

    Comme j'ai de nombreux groupes de données, ce serait très long (et difficile à automatiser) de faire séparéement ces deux étapes séparément et d'aggréger dans une seule et même table les résultats produits.

    Pour l'instant, ce que j'ai trouvé qui se rapproche le plus est un proc tabulate avec intervales de confiance. Je peux donc identifier les moyennes qui diffèrent à p<0.05, mais je n'ai pas la valeur précise de ce p.

    Je donne ma solution simplifiée... en réalité j'ai beaucoup plus de variables VAR et CLASS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROC TABULATE DATA = LIBRARY.DAT;
      BY groupe;
      CLASS sex age_tercile ;
      VAR score1 score2 score3 ;
      TABLE  groupe, sex age_ter , 
             (score1 score2 score3) * (N MEAN LCLM UCLM STD);
    run;
    Merci beaucoup à quiconque pourra m'éclairer!

  2. #2
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    Bonjour dd999 et bienvenu sur le forum,

    Je me lance pour tenter de répondre à tes deux problèmes:

    1/ de quelles statistiques parles tu? Je crois comprendre que ton problème est un problème de reporting (de présentation de tes statistiques dans le tableau de sortie). Donc tout dépend de la façon dont tu veux présenter tes données (si on ne le sait pas, on ne pourra pas t'aider). Il existe deux procédures standard pour le reporting, proc tabulate comme tu l'as repéré, et proc report, avec une préférence personnelle pour report. C'est d'ailleurs généralement la procédure la plus utilisée, cependant l'utilisation de l'une ou de l'autre peut se justifier suivant la sortie voulue. Tu trouveras des sujets sur les deux procédures sur le forum en cherchant un peu.

    2/ Avant de se lancer sur du sas, es tu au point sur ton approche méthodologique? S'agit-il de données appariées? Y-a-t-il besoin d'ajustement pour comparaison multiple (deux à deux, à un groupe référence..)

    Dernière question question, quel est l'impact de ta variable de groupe (dans le statement by) sur les deux points au dessus?

    Vu que tu as deux problèmes distincts, ce serait peut être mieux de lancer deux sujets différents afin qu'on ne se mélange pas les pinceaux.

    Bon courage,

    Manoutz

  3. #3
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 219
    Points
    16 219
    Par défaut
    Bonjour,
    Si c'est la p-value que tu veux calculer, je ne suis pas sûr qu'elle puisse se calculer dans une PROC TABULATE.
    Il me semble que la proc tabulate est plus une table de synthèse de statistique classique qu'une table donnant des statistiques plus élaborées comme des tests statistiques. Tests reposant d'ailleurs sur des hypothèses statistiques qu'il convient de vérifier et qui sont adaptées aux procédures utilisées.
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci pour la réponse rapide!

    Le p que je désire inscrire à même les tables proviendrait d'un test-T lorsque la variable CAT est binaire, et d'une ANOVA lorsque la variable a plus de 2 catégories.

    Je ne crois pas non plus que proc tabulate me permette de faire cela... L'idée serait d'avoir quelque chose comme ça... Le p apparaît sur la rangée de la dernière catégorie, même si en réalité il ne concerne pas davantage une catégorie qu'une autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                VAR1         |       VAR2
           N    MOY   p      |  N   MOY   p
    CAT1                     |
      a    50   24.2         |  50  20.1
      b    49   23.8  0.89   |  49  29.4 .01   <-- test-t
    CAT2                     |
      a    50   25.1         |  50  25.5
      b    49   23.8         |  49  24.4
      c    49   22.1  0.03   |  49  25.2 .91   <-- anova
    (Ça irait mieux avec une police courrier, mais bon)

    Les aspects méthodologiques sont certainement pris en compte. Mais merci de vous en soucier... Nous n'en sommes qu'à une phase d'exploration et j'essaie de voir ce qui est possible vs ce qui ne l'est pas, afin d'orienter mon travail. Je n'ai pas l'habitude de travailler avec autant de jeux de données (non, ce ne sont pas des données appariées), et c'est aussi un exercice d'apprentissage que tout cela! Pour les besoins de l'exercice, vous pouvez faire comme si tous les postulats sont respectés.

    Si je devais faire le tout en 2 étapes, je pourrais générer les anovas d'abord, placer les outputs dans une table temporaire pour ensuite récupérer les p de cette table et les ajouter aux tableaux générés par tabulate ou report... Mais ce n'est pas une mince affaire, je me trompe?

    Merci encore!

  5. #5
    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
    Citation Envoyé par dd999 Voir le message
    Si je devais faire le tout en 2 étapes, je pourrais générer les anovas d'abord, placer les outputs dans une table temporaire pour ensuite récupérer les p de cette table et les ajouter aux tableaux générés par tabulate ou report... Mais ce n'est pas une mince affaire, je me trompe?
    Bonjour.
    Pas une mince affaire, c'est certain, mais probablement une des façons de faire les plus simples. Tu peux utiliser ODS OUTPUT pour récupérer tes statistiques et tes p-values dans des tables temporaires. Les mixer ensuite avec une étape DATA ou du SQL en une seule table.
    Et pour la mise en page que tu proposes, je penche plutôt pour une proc REPORT que pour TABULATE : ce sera moins galère à mes yeux pour n'afficher le p qu'à certaines lignes. Enfin c'est une affaire de goûts, TABULATE pourra aussi te permettre d'y arriver.
    Bon courage.
    Olivier
    Bon courage.
    Olivier

  6. #6
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    OK pour la méthodo, si je comprends bien, tu veux tester globalement l'égalité des moyennes (et non une moyenne donnée par rapport à une autre ). Je soulignais juste cet aspect car j'ai parfois été des situations ou des partenaires se plaignaient à la fin de l'étude que les résultats ne répondent exactement à la question (malgré mes conseils de mise en garde au début de l'étude)..

    Sinon je pense qu'on est d'accord sur l'approche: 1, rassembler les données (provenant d'une proc mixed par exemple) dans une table, et 2 passer au reporting (et la dessus, je partage l'opinion d'Olivier pour la report)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses, ça m'éclaire!

    J'en profite pour dire que je suis content d'avoir trouvé ce forum tout en français!

    Au plaisir

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2015, 11h02
  2. [AC-2010] insérer des indices et des exposants dans une table
    Par louis1203 dans le forum Access
    Réponses: 1
    Dernier message: 27/04/2015, 13h46
  3. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  4. obtenir les adresses IP des machines dans un reseau
    Par sitws dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 14/04/2012, 14h03
  5. Obtenir la liste des doublons dans une table SAS
    Par marie mouse dans le forum SAS Base
    Réponses: 2
    Dernier message: 05/12/2007, 15h33

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