Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS STAT
SAS STAT Forum d'entraide sur les fonctionnalités liées à la statistique sur SAS : statistique descriptive, test, régression, classification
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 19/05/2011, 15h47   #1
Invité régulier
 
Inscription : avril 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 53
Points : 6
Points : 6
Par défaut PROC UNIVARIATE : Modifier l'ordre d'affichage des valeurs pour tracer une courbe théorique sur le graph

Bonjour,

J'ai une distribution(voir pièces jointes) qui commence à 0 heures.
J'ai créé une autre distribution (voir pièces jointes) avec une proc gchart qui me convient et qui commence à 5h et termine à 4h.

J'aimerais appliquer sur cette deuxième distribution une proc univariate pour y faire apparaître les courbes théoriques (même si à vue d'oeil c'est une loi normale).

Mon pb : proc univariate n'accepte pas que les heures soient classées par ordre autre que croissant. Donc MIDPOINTS ne marche pas, ORDER non plus...

J'espère que quelqu'un a déjà eu ce problème et pourra donc remédier au mien

Merci d'avance.

PS: Est-il possible d'ajouter des titres aux graphiques dans le cadre d'une univariate??
Images attachées
Type de fichier : jpg Distrib_h_0.jpg (43,7 Ko, 3 affichages)
Type de fichier : jpg Distrib_h_5.jpg (41,0 Ko, 4 affichages)
avalen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 16h16   #2
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
te permet d'avoir les graphiques en V9.2.
ça ne coute rien d'assayer!!
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 17h14   #3
Invité de passage
 
Femme Zohra Lamiral
ingénieur hospitalier
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Zohra Lamiral
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : ingénieur hospitalier
Secteur : Santé

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 4
Points : 4
Bonjour,
Utilise cette macro SAS, permet de tracer l'histogramme, la courbe du noyau et le QQplot.


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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
%macro normalityplot(DATA=, var=, varlabel=); 
quit;
*ods SELECT NONE;
ods output Moments=moment TestsforNormality=normal;
proc univariate DATA=&DATA normal;
  var &var;
run;
 
DATA ChoixStat; SET normal;
  IF _n_ = 1;
run;
 
DATA size; SET moment;
  WHERE Label1 = 'N';
  n = cValue1; keep n;
run;
 
DATA skew; SET moment;
  WHERE Label1 = 'Skewness';
  skewness = cValue1; keep skewness;
run;
 
DATA kurt; SET moment;
  WHERE Label2 = 'Kurtosis';
  kurtosis = cValue2; keep kurtosis;
run;
 
DATA affiche;
  merge size skew kurt ChoixStat;
  DROP VarName pSign;
run;
 
DATA anno;
  length text $20.4;
  retain xsys '3' ysys '3' FUNCTION 'label' when 'a' y_pct 85
         hsys '4' size .75;
  SET affiche;
  IF _n_ = 1 then do;
    x=23; y=85; text=put(Test, 20.4);   output;
    x=18; y=82; text=put(TestLab, 2.);  output;
    x=28; y=82; text=put(pType, 6.);    output;
  end;
    y_pct=y_pct-3;
   x=18; y=79; text=put(Stat, 6.4);   output;
    x=28; y=79; text=put(pValue, 6.4); output;
 
   y_pct=y_pct-8;
   x=18; y=72; text='Skewness'; output;
   x=28; y=72; text='Kurtosis'; output;
   x=18; y=69; text=put(skewness, 8.4); output;
    x=28; y=69; text=put(kurtosis, 8.4); output;
 
run;
 
 
*** Probability Plots AND Histograms***;                                                                                                              
goptions ftext=SWISS ctext=BLACK htext=1 cells;                                                                                         
symbol v=star c=BLUE h=0.5 cells;                                                                                                       
axis1 label=("&varlabel");
 
proc univariate DATA=&DATA noprint;                                                                                               
   var &var; 
   title "Verification de l'hypothese de normalite &varlabel";
   probplot / caxes=BLACK cframe=CXF7E1C2 waxis= 1                                                                                      
              hminor=0 vminor=0 vaxislabel="&varlabel"                                                                                       
              normal( mu=est sigma=est color=BLUE l=1 w=1);                                                                                                             
   inset normal;  
   histogram / normal (noprint color=red)
               caxes=BLACK cframe=CXF7E1C2 waxis= 1                                                                                     
               cbarline=BLACK cfill=BLUE pfill=SOLID                                                                                    
               vscale=percent hminor=0 vminor=0 anno=anno nmidpoints=11;                               
run;                                                                                                                                    
   title;
ods SELECT ALL;
%mend;
 
ods SELECT ALL;
oualina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 10h14   #4
Invité régulier
 
Inscription : avril 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 53
Points : 6
Points : 6
Mais qu'est ce que c'est que cela mon dieu!!!
J'ai testé, je suppose que je n'avais qu'à remplir les espaces vides.
J'ai plus ou moins compris le programme mais je ne suis jamais passée par les macros donc :S

Par contre le fichier fait 0KB et le message d'erreur suivant apparaît :

Aucune action par défaut pour le type de données Macro
avalen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 16h01   #5
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 823
Points : 2 823
Je proposerais de créer tout simplement une nouvelle variable.
Si actuellement heure >= 5 alors nouvelle_heure = heure-5
Sinon nouvelle_heure = heure + 19
Ou un truc du genre.
Olivier
olivier.decourt 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 19h45.


 
 
 
 
Partenaires

Hébergement Web