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 13/01/2012, 09h52   #1
Futur Membre du Club
 
julien quetel
Inscription : juillet 2010
Messages : 91
Détails du profil
Informations personnelles :
Nom : julien quetel

Informations forums :
Inscription : juillet 2010
Messages : 91
Points : 16
Points : 16
Par défaut Fréquence de valeurs manquantes

voila mon probleme me semble simple est pourtant je n'y arrive pas, j'ai une table avec 350 variables et j'aimerai donc afin d'evaluer la qualité de la sasie le pourcentage de valeurs manquantes pour chacune de mes variables. j'ai donc essayé avec une proc tabulate,

Le resultat que je voudrais aurait cette forme :
Fréquence de réponse manquante
variable1 X%
Variable2 Y%


J'ai donc f'ait ceci mais comme vous vous en doutez ca ne marche pas

Code :
1
2
3
4
5
6
7
8
proc tabulate DATA= alz.malchro;
	CLASS ETP_I_UF_ACTIVITE /ORDER=DATA;
	CLASS C_Code_Postal /ORDER=DATA;
	CLASS D_Date_Naissance /ORDER=DATA;
TABLE ETP_I_UF_ACTIVITE 
	C_Code_Postal 
         D_Date_Naissance, n Nmiss;
run;
traersa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 12h03   #2
Membre du Club
 
Homme Jérémy Noël
Consultant Support Client SAS
Inscription : mai 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Jérémy Noël
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant Support Client SAS
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 38
Points : 58
Points : 58
Bonjour,

Si j'ai bien compris ta question, une proc FREQ devrait résoudre ton problème:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
DATA test;
input x 1-2 y 3-4;
cards;
1 2
3  
4 5
6 7
  8
;run;
 
proc freq DATA=test;
TABLES x y/missing ;
run;
Tu auras pour chaque varaible le pourcentage de chaque modalité et le pourcentage de valeurs manquantes.

Cordialement,
Jérémy NOEL
frajen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 13h16   #3
Futur Membre du Club
 
julien quetel
Inscription : juillet 2010
Messages : 91
Détails du profil
Informations personnelles :
Nom : julien quetel

Informations forums :
Inscription : juillet 2010
Messages : 91
Points : 16
Points : 16
Bonjour,

Oui c'est ce que j'ai fait en attendant le probleme etant que je sors 1069 pages de rapports car mes modalités sont souvent nombreuses, je ne veux donc pas la repartition des modalités qui me prend trop de place, mais simplement les fréquences de valeurs manquantes, mais je sais pas si c'est faisable, peut etre en ajoutant une close a mon freq, je vais continuer a essayer je posterai la reponse si je trouve.
traersa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 14h58   #4
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 828
Points : 2 828
Bonjour.
La solution de la proc FREQ est sans doute la plus rapide à coder. TABULATE donnera des dénombrements de valeurs manquantes mais pas de pourcentages. REPORT permettrait de calculer les pourcentages mais il faudrait des tonnes de code.
Par contre, un format pour regrouper toutes les valeurs non manquantes en une ligne t'évitera des pages et des pages de listings inutiles.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
PROC FORMAT ;
  VALUE num
   LOW-HIGH="Renseigné" OTHER="Manquant"
  ;
  VALUE $car
   "" = "Manquant" OTHER = "Renseigné"
  ;
RUN ;
proc freq DATA=test;
TABLES x y/missing ;
FORMAT _NUMERIC_ num. _CHARACTER_ $car. ;
run;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/01/2012, 15h36   #5
Futur Membre du Club
 
julien quetel
Inscription : juillet 2010
Messages : 91
Détails du profil
Informations personnelles :
Nom : julien quetel

Informations forums :
Inscription : juillet 2010
Messages : 91
Points : 16
Points : 16
Ah oui j'avoue tres mal connaitre les proc format, cette solution marche tres bien pour toutes mes variables quantitatives donc deja un grand merci, par contre elle considere toutes mes variables qualitatives comme toujours renseignées.
traersa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 17h03   #6
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 828
Points : 2 828
Comment est codée la valeur inconnue sur tes variables qualitatives ? Par le manquant de SAS (chaîne vide) ou par des points d'interrogation, des points simples ?
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/01/2012, 14h53   #7
Futur Membre du Club
 
julien quetel
Inscription : juillet 2010
Messages : 91
Détails du profil
Informations personnelles :
Nom : julien quetel

Informations forums :
Inscription : juillet 2010
Messages : 91
Points : 16
Points : 16
ben quand j'ouvre la table il n'y a rien d'affiché donc j'aurais tendance a dire chaine vide... C'est pour ca que je comprends pas bien pourquoi ca marche pas.
traersa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 16h01   #8
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 828
Points : 2 828
Oups. J'ai oublié de laisser un espace entre les guillemets dans la définition du format.
Code :
1
2
3
4
5
6
7
8
PROC FORMAT ;
  VALUE num
   LOW-HIGH="Renseigné" OTHER="Manquant"
  ;
  VALUE $car
   " " = "Manquant" OTHER = "Renseigné"
  ;
RUN ;
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/01/2012, 16h31   #9
Futur Membre du Club
 
julien quetel
Inscription : juillet 2010
Messages : 91
Détails du profil
Informations personnelles :
Nom : julien quetel

Informations forums :
Inscription : juillet 2010
Messages : 91
Points : 16
Points : 16
Merci beaucoup pour votre aide ca marche tres bien et ca correspond vraiment a ce que je voulais.
Encore un grand merci pour votre aide qui m'evitera d'avoir a envoyer un rapport de plus de mille pages...
traersa 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 19h18.


 
 
 
 
Partenaires

Hébergement Web