Le forum du Master ESA économétrie et statistique appliquée - Université d'Orléans

Vous n'êtes pas identifié.

Annonce

Vous êtes sur le forum du master ESA !

Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!

Venez visiter notre nouveau site : www.master-esa.fr

#1 17-08-2010 12:14:04

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

les fréquences

Bonjour,

J'ai un petit problème , quand j'ai essayé de voir le pourcentage des femmes et des hommes par rapport à une variable d'interêt (sélection), il ya une modalité "0" en plus , comment procéder pour faire disparaître cette modalité.

le tableau:


Sélection\SEXE    0    H    F
0    %    %    %
1    %    %    %
           
j'ai pas pu collé le tableu SAS,  j'ai essayé de faire ça:

rsubmit;
data ana.selection_detail; set ana.selection_detail;
if sexe in ('.', '0') then delete;
run;
rsubmit;

ça ne donne rien?

Hors ligne

 

#2 17-08-2010 14:00:59

sspdiddy
Member
Date d'inscription: 29-04-2009
Messages: 146

Re: les fréquences

Bonjour
la seule explication possible est que dans votre table il ya des modalités de sexe qui sont codées "0" verifier avec un proc freq

bien à vous

Hors ligne

 

#3 17-08-2010 14:15:20

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

Le problème c'est que il y a 0% pour cette modalité"0", c'est la proc freq que j'ai utilisé.

Merci.

Hors ligne

 

#4 17-08-2010 15:21:21

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: les fréquences

0% ne veut pas dire effectif nul (1/100000000= 0%)

il y a des problèmes dans votre programme...

if sexe in ('.', '0') then delete;

'.' n'est pas la valeur manquante d'une variable alphanumérique... (et d'ailleurs, est ce que votre variable est bien alphanumérique... vous savez, avec un FORMAT adéquat, vous pouvez avoir H ou F qui s'affichent tout en aillant derrière une variable numérique...)

donc :

if missing(sexe) or sexe=0 then delete ;

(je fais l'hypothèse que votre variable est numérique)

a+

Hors ligne

 

#5 17-08-2010 16:08:32

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

Merci, je vais essayer .

Hors ligne

 

#6 18-08-2010 09:27:56

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

La variable sexe est alphanumérique, j'ai réussi à éliminer le "0".

Merci.

Hors ligne

 

#7 18-08-2010 09:52:54

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: les fréquences

quel était le problème ?

Hors ligne

 

#8 18-08-2010 10:18:58

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

Le problème était facile, j'ai pas fais attention aux missing ou sexe=0 , et quand j'ai mis : if missing(sexe) or sexe=0 then delete , le tableau de fréquences m'affiche que H ou F avec des pourcentages un peu plus faible qu'avant. voilà

Merci

Hors ligne

 

#9 18-08-2010 10:35:41

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: les fréquences

mais si vous avez utilisé sexe=0 comme condition et que cela fonctionne, c'est que votre variable sexe est numérique...

Hors ligne

 

#10 18-08-2010 12:26:32

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

La proc contents m'affiche la variable sexe comme alpahanumérique, et la condition if missing(sexe) or sexe=0 then delete a bien marché, je vais essayer par la condition if missing(sexe) then delete.

merci.

Hors ligne

 

#11 18-08-2010 12:37:38

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

en fait j'ai mis if sexe='' then delete m'a donné le même résultat que if missing(sexe) or sexe=0 then delete ????

Hors ligne

 

#12 18-08-2010 12:42:46

sspdiddy
Member
Date d'inscription: 29-04-2009
Messages: 146

Re: les fréquences

je pensais que le problème était facile.....smile..c'est résolu?

Hors ligne

 

#13 18-08-2010 13:18:16

boualdjasonia
Member
Date d'inscription: 03-12-2008
Messages: 47

Re: les fréquences

oui sspdiddy, c'est résolu mais c'est un peu bizarre soit alpha ou num donnent la même chose

Hors ligne

 

#14 18-08-2010 16:35:31

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: les fréquences

non, ce n'est pas bizarre (et c'est moi qui qui embête pour rien)...

un exemple :

Code:

data toto;
input sexe $ ;
cards
0
1
2
;

data select1;set toto;
where sexe ne 0;
run;

data select2;set toto;
if sexe ne 0;
run;

et vous allez constatez qu'avec WHERE, ça ne passe pas (avec where, si la variable est alpha, il faut une modalité alpha (et donc '0')) et avec IF, ça passe : rappelez vous le fonctionnement du PDV et vous vous direz que c'était évident.

ensuite pour vos valeurs manquantes :
si la variable est alpha, sexe='';
si la variable est numérique : sexe=.

jamais de '.' pour saisir une valeur manquante alpha !!

et vous gagnez du temps avec la fonction MISSING....

a+

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

[ Generated in 0.018 seconds, 6 queries executed ]