Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/11/2011, 17h27   #1
Invité de passage
 
Inscription : juin 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 8
Points : 2
Points : 2
Par défaut Proc Tabulate et Weight

Bonjour,

J'aimerais utilisé une variable de pondération dans mon Proc Tabulate, sauf que tout ce qu'il m'affiche ce sont les "n"... Comment dois-je faire ?

Voici ma procédure:

Code :
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
33
34
35
36
37
 
 
%MACRO TABLEAU(VAR); 
 
%DO I = 1 %TO 100; 
%LET QUEST = %SCAN(&VAR, &I, " "); 
%IF "&QUEST" = "" %THEN %LET I = 101; 
%IF "&QUEST" NE "" %then %do; 
 
PROC TABULATE DATA=QUEBEC;
CLASS AGEGR51R SCR_Q120R ?
WEIGHT WGHT_PER; 
TABLE AGEGR51R*SCR_Q120R, ?
FORMAT 
AGEGR51R AGEGR51RF.
SCR_Q120R SCR_Q120RF.
LIVARR06 LIVARR06F.
SRH_Q110R SRH_Q110RF. 
LUC_RSTC LUC_RSTCF.
INCMHSDCR INCMHSDCRF.
ACMYRR ACMYRRF.;
LABEL 
SCR_Q120R = "test "
LIVARR06 = "test "
SRH_Q110R = "test "
LUC_RSTC = "test "
INCMHSDCR = "test"
ACMYRR = "test"
RUN;
%END; 
%END; 
 
%MEND TABLEAU; 
 
%TABLEAU(VAR = LIVARR06 SRH_Q110R LUC_RSTC INCMHSDCR ACMYRR);
 
Merci!
Voici mon tableau, je le veux comme ça sauf avec N pondéré !!

Situation domestique du ménage du répondant
Vit seul Vit seulement avec un(e) partenaire Vit avec un(e) partenaire et un(des) enfant(s) Vit seulement avec un(des) enfant(s) seulements Vit avec un ou deux parents Autre situation domestique
N N N N N N
AGEGR51R
45-65 ans
Tous les jours/Qu200 100 50 25 34 11
Quelques fois par semaine
Quelques fois par mois/Une fois par mois
Pas au cours du dernier mois
Non déclaré
Ne sait pas
65-75 ans
Tous les jours/Quelques fois par semaine
Quelques fois par mois/Une fois par mois
Pas au cours du dernier mois
Non déclaré
Ne sait pas
75 ans et plus
Tous les jours/Quelques fois par semaine
Quelques fois par mois/Une fois par mois
Pas au cours du dernier mois
Non déclaré
Ne sait pas
challe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 18h55   #2
Membre habitué
 
Sébastien Ringuedé
Inscription : janvier 2011
Messages : 61
Détails du profil
Informations personnelles :
Nom : Sébastien Ringuedé
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : janvier 2011
Messages : 61
Points : 114
Points : 114
Bonjour,

WEIGHT, c'est pour pondérer les variables d'analyse, pas les variables de classification.

pour t'en sortir, tu peux tenter la manoeuvre suivante : créer un variable ZZ=1, lister cette variable en VAR puis ne pas demander la production de n mais la somme.

A priori, ça devrait marcher...

a+

Sébastien Ringuedé
z6c3po est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 11h40   #3
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Bonjour.
Tu peux aussi mettre ton poids en VAR et en demander la somme. Ca doit revenir à des effectifs pondérés dans le tableau.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 16h45   #4
Invité de passage
 
Inscription : juin 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 8
Points : 2
Points : 2
J'ai réussi à faire la pondération en faisant la multiplication de la variable et de la variable de pondération. Par contre, j'aimerais aussi avoir le %, comment faire. Merci

Code :
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
33
34
%MACRO TABLEAU(VAR); 
 
         %DO I = 1 %TO 100; 
             %LET QUEST = %SCAN(&VAR, &I, " "); 
             %IF "&QUEST" = "" %THEN %LET I = 101; 
             %IF "&QUEST" NE "" %then %do; 
 
PROC TABULATE DATA=QUEBEC;
CLASS AGEGR52R SCR_Q120R ?
VAR WGHT_PER;
TABLE AGEGR52R*SCR_Q120R, &QUEST*WGHT_PER;
WHERE AGEGR52R=2;
FORMAT 
       AGEGR52R AGEGR52RF.
       SCR_Q120R SCR_Q120RF.
       LIVARR06 LIVARR06F.
       SRH_Q110R SRH_Q110RF. 
       LUC_RSTC LUC_RSTCF.
       INCMHSDCR INCMHSDCRF.
       IUR_Q100 IUR_Q100F.;
LABEL 
     SCR_Q120R = "Nombre de visite à la famille  "
     LIVARR06 = "Situation domestique du ménage du répondant "
     SRH_Q110R = "État de santé auto déclaré "
     LUC_RSTC = "Indicateur urbain/rural "
     INCMHSDCR = "Revenu total du ménage"
     IUR_Q100 = "Utilisation d'Internet au cours du dernier mois"
RUN;
         %END; 
         %END; 
 
%MEND TABLEAU; 
 
%TABLEAU(VAR = LIVARR06 SRH_Q110R LUC_RSTC INCMHSDCR IUR_Q100);
challe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h27.


 
 
 
 
Partenaires

Hébergement Web