|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() economiste Inscription : juillet 2011 Messages : 14 ![]() |
Bonjour,
Je vais tenter de reposer ma question récente d'une autre façon car personne n'y a répondu. J'ai une variable prenant une valeur différente pour chaque observation. Je cherche à regrouper cette variable suivant des intervalles réguliers; J'ai procédé comme suit: Code :
Comment éviter d'écrire toutes ces lignes svp?existe-t-il une otion me permettant de déterminer un pas de 1000? Merci d'avance. |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() statisticien Inscription : mai 2011 Messages : 212 ![]() |
Bonjour
Pour faire des classes plusieurs possibilités s'offrent à toi. Si tu veux des classes de même taille en terme de nombre d'observations tu peux récupérer les percentiles de ta distribution via une proc summary (ou means) par exemple... Si tu souhaite des classes de même étendue tu peux utiliser les fonctions de coupure ou d'arrondissement. Par exemple en définissant ta classe comme une fonction de ta variable Classe=F(Var) avec F(x)=FLOOR(x/1000) ou F(x)=ROUND(x/1000,0) et bien d'autres fonctions possibles encore. Il est recommandé de bien étudier la distribution de la variable avant de définir des classes, par exemple avec la proc univariate. Edit : Dans ton cas particulier ce serait plutôt sans IF mais avec une fonction bien choisi comme expliquée au dessus , par exemple Classe=Max(0,4+floor(VarNum/50000)); |
|
|
10
|
|
|
#3 | ||
![]() ![]() Stéphane Consultant et formateur SAS et Cognos Inscription : avril 2009 Messages : 1 791 ![]() |
Il y a peut-être mieux mais si tu dois appliquer des classes à énormément de variables, un FORMAT pourrait être utile. La table en entrée est facilement personnalisable au niveau des seuils, c'est peut-être plus pratique que des boucle DO ... BY dans ton étape DATA directement.
Code :
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !Moteur de recherche dans les papiers SAS |
||
|
10
|
|
|
#4 |
|
Invité régulier
![]() economiste Inscription : juillet 2011 Messages : 14 ![]() |
C'est tout à fait ce que je cherchais.
J'utilise la fonction floor uniquement car j'ai besoin de codes négatifs. Merci beaucoup. je vais explorer la seconde idée aussi |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() economiste Inscription : juillet 2011 Messages : 14 ![]() |
la seconde otion est tres interesante dans mon cas également.
merci beaucoup à vous deux, je vais gagner un temps précieux. Cloaq |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com