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 :

Calcul du produit de deux résultas issus de deux procédures


Sujet :

SAS STAT

  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 268
    Points : 88
    Points
    88
    Par défaut Calcul du produit de deux résultas issus de deux procédures
    Bonjour,
    J'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    proc freq data=table; table X;run;
    proc means data=table; var Y;run;
    Je cherche à calculer le produit du premier résultat (sachant que c'est un % des "oui" et "non", moi je prend les "oui") avec le deuxième (qui est un nombre) de manière automatique, car si je le fais manuellement ça va me prendre beaucoup de temps car j'ai plusieurs variables.

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Je subodore que tu peux t'en sortir en pondérant ta proc means avec la sortie de ta proc freq, néanmoins tu affiche ton code, sans indiquer structure de tes données ça risque d'être dur de t'aider dans ces conditions.

    En fait je n'arrive pas à comprendre exactement par ce que tu entend par "faire le produit" , ni le lien entre les "OUI" et les Y.

  3. #3
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 268
    Points : 88
    Points
    88
    Par défaut
    Je m'explique:

    ma première variable X est recense le % de gens qui ont contracté une maladie, x1 "oui" et x2 "non"

    sur le même échantillon, je cherche à savoir le nombre moyen de maladies subis par une personne, c'est pourquoi j'ai utilisé la proc means.

    après, je cherche à déterminer le nombre de maladies pour 100 personnes, c'est pourquoi j'ai besoin de faire le produit de "x1" par le résultat de la proc means.

    J'espère que j'étais plus claire, merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    A ce que je comprend,
    tu as des individus, et pour chaque individu tu as une variable X qui a la modalité "x1" si il est malade et "X2" sinon.
    Et une autre variable correspondant pour chaque individu à son nombre de maladie.
    Sans doute as tu plusieurs variables "X" : Xmaladie1 (x1(oui)/x2(non)) Xmaladie2 (x1(oui)/x2(non)) etc... XmaladieN(x1(oui)/x2(non)).*

    "je cherche à déterminer le nombre de maladies pour 100 personnes" :

    Soit tu cherche à déterminer le nombre de maladies pour 100 personnes, et dans ce cas les individus n'ayant aucune maladie ont 0 pour valeur et alors
    100 fois la valeur trouvé par le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc means DATA=TABLE; var Y;run;
    devrait te convenir. Te reste à multiplier par 100 le résultat...(pourquoi faire plus compliqué ?)

    Soit tu cherche à déterminer le nombre de maladies pour 100 personnes ayant la maladie numéro 1(Xmaladie1) , puis la maladie numéro 2 (Xmaladie2) etc...
    Alors le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc means DATA=TABLE(WHERE=(XMaladie1='X1')); var Y;run;
    devrait également te donner le bon chiffre (toujours à multiplier par 100).[/code]

    Et ensuite tu cherche à le faire pour chaque maladies.

    Dans ce cas, la solution est sans doute plus à trouver du côté des macros.

    Encore faut-il que tu précise à quoi veux tu que la sortie ressemble ?

    Par exemple
    Maladie Maladiesp100Malades

    Maladie1 1.28
    Maladie2 1.02
    Maladie3 1.89


    ?

    Comment s'appellent tes variables ('X') de maladie ?

    Voilà ce que je comprend (et ce que je vois qu'il manque à ta question pour y répondre de manière satisfaisante), mais peut-être suis-je à côté de la plaque...

  5. #5
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 268
    Points : 88
    Points
    88
    Par défaut
    D'abord merci pour ta réponse.

    EN fait les variables X et Y n'existent pas comme ça dans ma base, ce sont des variables que j'ai construit en tenant compte de quelques hypothèses.

    pour utiliser les mots techniques, X représente la prévalence (part des personnes atteintes d'une maladie donnée sur l'échantillon, pour une période donnée) et Y le nombre moyen de fois qu'une personne contracte cette maladie donnée.

    et je cherche à calculer l'Incidence, qui représente le nombre de fois total de contracter cette maladie donnée, pour 100 personnes.

    par exemple:
    pour "la grippe", on a une prévalence de 7,5% et une multi_exposition de 4 fois par personne sur l'année.
    7.5%*4=30%
    donc on dénombre une trentaine de cas de grippe pour cent personnes de l'échantillon.

    je cherche un moyen pour calculer cette incidence pour plusieurs maladies d'une façon automatique au lieu de le faire à la main pour chaque maladie.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Ok, je n'arriverais pas à t'aider si je ne comprend pas ce que tu as dans ta table de départ.

    Si d'autres ont une vision plus claire que moi de ce que tu demande...

  7. #7
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 268
    Points : 88
    Points
    88
    Par défaut
    merci en tout cas d'avoir essayer de m'aider

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/04/2011, 23h50
  2. comment calculer le produit de deux nombres en PHP
    Par batalich dans le forum Langage
    Réponses: 3
    Dernier message: 12/03/2007, 09h02
  3. Réponses: 7
    Dernier message: 05/07/2006, 16h29

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