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 !
Bonjour
J'ai reçu il y a quelques temps une question intéressante et quand les questions sont intéressantes, je les transforme en sujet de beaux mercredis....
Mon interlocuteur disposait dans une table d'une série de variables et il voulait savoir, pour chaque observation, combien il y avait de valeurs distinctes.
petit exemple
soit les valeurs suivantes : 1 2 1 2 1 2 <<- deux valeurs distinctes
soit les valeurs suivantes : 6 8 9 9 8 6 <<- trois valeurs distinctes
le programme suivant crée une table de 20 observations et de 100 variables :
data test(drop=i j max); array x{100} ; do i=1 to 20 ; max=10+round(ranuni(123)*50); do j=1 to 100; x{j}=round(ranuni(456)*max); end; output; end; run;
vous devez ajouter une variable à cette table qui vous indiquera le nombre de valeurs distinctes prises par les variables X1-X100 pour chaque observation.
je vous donne un indice : pour la première observation, la réponse est 42
amusez vous bien...
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
petite mise à jour : j'ai déjà reçu deux propositions plus ou moins compliquées... on peut faire plus simple puisque vous pouvez obtenir le résultat demandé au moyen d'une seule étape data...
Hors ligne