Vous n'êtes pas identifié.
Bienvenue sur le site support de mes ouvrages d'introduction à SAS
La 4ème édition de mon ouvrage est toujours disponible !
Pages: 1
Vous employez sûrement souvent l’opérateur IN sous la forme suivante :
IF x IN(1,2,3) THEN…
Mais depuis SAS 9, vous avez aussi la possibilité, si on en croit mon ouvrage, de préciser des intervalles sous la forme :
IF x IN(v1:v2) THEN…
L’objet de ce sujet des beaux mercredis va être de préciser exactement ce qui se passe lorsque vous utilisez des « intervalles » sous la forme V1:V2 et nous verrons que le terme intervalle n’est pas exact… (à la suite de ce sujet, je devrai donc rajouter un post à la section erratum de la 3ème édition…).
Construisons une première table :
DATA test(DROP=i) ; CALL STREAMINIT(1234) ; DO i=1 TO 100 ; x=ROUND(RAND('uniform')*100,0.1) ; OUTPUT ; END ; RUN ;
Nous disposons à ce stade d’une table d’une table de 100 observations. La variable X est comprise entre 0 et 100. Nous souhaitons construire une autre table dans laquelle sera présente une indicatrice valant 1 si X est compris entre 40 et 60 et 0 sinon – nous utilisons pour cela l’opérateur IN.
DATA test2 ; SET test ; IF x IN(40 :60) THEN indicatrice=1 ;ELSE indicatrice=0 ; RUN ; PROC FREQ ; TABLE indicatrice ; RUN ;
Et on regarde le résultat :
Fréquence Pctage indicatrice Fréquence Pourcentage cumulée cumulé ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 0 97 97.00 97 97.00 1 3 3.00 100 100.00
Hum... ce n’est pas 3% de 1 que l’on devrait trouver mais quelque chose aux alentours de 20% puisque nos tirages aléatoires sont issus d’une loi uniforme...
Il doit y avoir un problème avec notre compréhension de l’opérateur IN puisque si vous remplacez la condition utilisant l’opérateur IN par :
IF 40<=x<=60 THEN...
Vous obtenez 19% de 1 ce qui semble plus raisonnable…
La question est donc : Que se passe-t-il précisément si vous utilisez avec l’opérateur IN ce que j’ai présenté (certainement injustement) comme des intervalles ?
à la semaine prochaine
Ce sujet est maintenant archivé - seuls les utilisateurs inscrits de www.sas-sr.com peuvent consulter l'intégralité du sujet et les réponses aux questions posées.
pour vous identifier, suivez ce lien
pour vous inscrire, suivez ce lien
Hors ligne
Pages: 1