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 01/08/2011, 15h58   #1
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
Par défaut proc npar1way pour un test de mann-witney

Bonjour à tous!

Je fais un test de Mann-witney pour une centaine de variable avec proc npar1way, seulemnt voila, la procédure me renvoi les résultats pour certaines de mes variables uniquement. au dela d'un certain nobre de variable j'ai un message d'erreur :No analysis will be done. Only one CLASS group is present.

j'ai essayer de faire deux proc npar1way et récupérer les résultats dans deux tableaux différents mais ça ne marche pas.
Je n'ai jamais était confronter à ça, c'est surement une question bête mais est ce que, comme je le pense , cette procédure est limité à un nombre de variables et y a t-il une solution à ça?

Merci
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 20h23   #2
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
Bonjour.
Vu le message, ce n'est pas un souci de capacité mémoire de la proc NPAR1WAY (ce serait "out of memory" ou quelque chose de ce style). D'ailleurs, ça passe très bien avec 500 variables par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DATA work.test1 ;
  ARRAY y y1-y1000 ;
  DO obs=1 TO 500 ;
    c = (obs<=250) ;
    DO OVER y ;
      y = RANUNI(obs) ;
    END ;
    OUTPUT ;
  END ;
RUN ;
ODS EXCLUDE ALL ;
ODS OUTPUT KruskalWallisTest = work.u1 ;
PROC NPAR1WAY DATA=work.test1 WILCOXON ;
  VAR y1-y1000 ;
  CLASS c ;
RUN ;
ODS SELECT ALL ;
Par contre, si tu as des valeurs manquantes pour tout un groupe sur AU MOINS UNE des variables, la proc NPAR1WAY s'arrête, quelle que soit la position de la variable. Dans notre exemple fictif, si on ne remplit Y1000 que pour c=0,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DATA work.test2 ;
  ARRAY y y1-y1000 ;
  DO obs=1 TO 500 ;
    c = (obs<=250) ;
	DO i=1 TO DIM(y)-c ;
	  y{i} = RANUNI(obs) ;
	END ;
	OUTPUT ;
  END ;
RUN ;
ODS EXCLUDE ALL ;
ODS OUTPUT KruskalWallisTest = work.u2 ;
PROC NPAR1WAY DATA=work.test2 WILCOXON ;
  VAR y1-y1000 ;
  CLASS c ;
RUN ;
ODS SELECT ALL ;
alors on a le message que tu obtiens, mais en plus
Citation:
ERROR: No analysis will be done. Only one CLASS group is present.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.U may be incomplete. When this step was stopped there were
2997 observations and 5 variables.
WARNING: Data set WORK.U was not replaced because this step was stopped.
Le WARNING indique bien que l'analyse était presque finie, mais que cette variable a tout fait planter.

Par contre, contrairement à de nombreuses autres procédures SAS, le souci n'est pas ici d'avoir des lignes incomplètes.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DATA work.test3 ;
  ARRAY y y1-y1000 ;
  DO obs=1 TO 500 ;
    c = (obs<=250) ;
	DO i=1 TO DIM(y) ;
	  y{i} = RANUNI(obs) ;
	END ;
	y{obs}=. ;
	OUTPUT ;
  END ;
RUN ;
ODS EXCLUDE ALL ;
ODS OUTPUT KruskalWallisTest = work.u3 ;
PROC NPAR1WAY DATA=work.test3 WILCOXON ;
  VAR y1-y1000 ;
  CLASS c ;
RUN ;
ODS SELECT ALL ;
Là, aucun souci, et pourtant aucune des observations n'a de valeurs pour les 1000 variables Y.

Donc ton souci doit être au niveau d'une (au moins) de tes variables quanti, qui doit être systématiquement manquante pour une des valeurs de ta variable CLASS.

Bon courage.
Olivier
olivier.decourt est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 10h00   #3
Candidat au titre de Membre du Club
 
Femme
etudiante stagiaire en recherche clinique
Inscription : avril 2011
Messages : 74
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : etudiante stagiaire en recherche clinique
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 74
Points : 14
Points : 14
Effectivement, j'ai 6 variables quanti qui sont manquantes pour une des valeurs de ma variable CLASS. Je ne peux naturelement pas faire une compariason de moyenne.

Merci beaucoup pour tes explications olivier, elles me sont comme à chaque fois très utile!
mathis86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h00.


 
 
 
 
Partenaires

Hébergement Web