Le forum du Master ESA économétrie et statistique appliquée - Université d'Orléans

Vous n'êtes pas identifié.

Annonce

Vous êtes sur le forum du master ESA !

Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!

Venez visiter notre nouveau site : www.master-esa.fr

#1 20-11-2009 22:04:43

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Traitements de données

Bonjour à tous,

Après quelques mois d'absence je reviens sur ce forum avec le plaisir de comprendre ce que je fais.
Je remercie également les personnes qui m'ont données de précieuses explications et conseils. Je confirme également que je suis un débutant dans la pratique de l'économétrie. J'ai eu des cours de théorie mais très très peu d'applications.
J'utilise le logiciel SAS depuis très peu de temps.
Ma question est la suivante:
Je viens d'importer un fichier SAS dans SAS : LIBNAME exo 'C:\données; DATA fichier1; SET exo.table; Run;
Je visualise ma table en allant dans bibliothèques/Work/fichier1.
J'ai une variable qui comporte deux modalités soit 1 soit 2. (Oui ou Non) mais pour plusieurs individus j'ai une case vide, une donnée manquante.
Comment puis-je faire pour la traiter?avec le logiciel SAS?
Est-ce que je dois créer une autre table de sortie?

Ma seconde question est la suivante: qu'est ce que signifie un coefficient de pondération pour les individus calé sur les estimations de population établies suite au recensement 2006 (Coefficient numérique sur 8 caractères)?

Enfin, quand une variable comporte plusieurs modalités, par exemple 4 et si je prend des catégories socioprofessionnelles avec des lettres A, B, C et D. A la personne est un cadre...ect
Comment transformer cette variable toujours dans sas et dans le programme?

Je sais que cela est le B A B.A mais comme je ne le maitrise pas je profite de ce forum pour demander de l'aide.

Merci d'avance de l'aide que vous pourrez m'apporter.

Hors ligne

 

#2 21-11-2009 08:41:28

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: Traitements de données

Bonjour

Déjà, en ce qui concerne SAS, il vous faut absolument (si, si..) un bon bouquin... je n'ose pas vous proposer le mien...
(www.sas-sr.com et consultez le plan, l'introduction et la préface, vous verrez bien qu'il est fait pour vous ;-)

Ensuite, vos valeurs manquantes... qu'est ce que vous entendez lorsque vous parlez de traiter vos valeurs manquantes ?

ensuite, les coefficients de pondération :

vous faites un sondage et parmi les personnes interrogées, 40% sont de type A, 25% de type B et 35% de type C
maintenant, vous savez qu'en réalité, dans votre population totale, 30% sont de type A, 40% sont de type B et 30% sont de type C

il vous faut donc "pondérer" différemment les différents type d'individus dans votre sondage pour avoir une réponse au niveau de la population totale : c'est le rôle de ces variables de pondération.

a+

Hors ligne

 

#3 21-11-2009 10:18:57

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Re: Traitements de données

Bonjour,

Merci pour votre réponse. Votre livre est déjà sur mon bureau, je suis déjà bien convaincu de son utilité. C'est d'ailleurs avec celui que j'ai pu importer mes données avec la procédure LIBNAME.
Pour les données manquantes, la section 1.5 répond à ma question.

Dernière modification par loulou (21-11-2009 10:32:06)

Hors ligne

 

#4 21-11-2009 11:07:22

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Re: Traitements de données

j'ai importer un fichier SAS dans SAS : LIBNAME exo 'C:\données; DATA fichier1; SET exo.table; Run;

Je visualise ma table en allant dans bibliothèques/Work/fichier1.

Maintenant je souhaite regarder les statistiques descriptives pour deux variables:

Proc means data = fichier1;
var X1 X9;

dans la fenêtre journal j'ai le message suivant:

proc means data = fichier1;
var X1 X9;
ERROR : Variable X1 in list does not match type prescr ibed for this list.
ERROR : Variable X9 in list does not match type prescr ibed for this list.

Et je n'obtiens pas mes stats descriptives.
Pouvez-vous s'il vous plait me dire pourquoi cela ne marche pas?

Hors ligne

 

#5 21-11-2009 11:39:48

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: Traitements de données

parce que PROC MEANS ne peut agir que sur des variables numériques et que vos variables X1 et X9 sont alphanumériques

faite un PROC CONTENTS sur votre table SAS et vous verrez ;-)

Hors ligne

 

#6 21-11-2009 12:40:54

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Re: Traitements de données

Effectivement cela me donne pas mal d'informations mais j'ai des choses un peu surprenantes.
Avec la procédure Proc Contents et les explications de la page 156 j'ai comrpis certains problèmes.
Par contre, j'ai une variable âge qui décrit l'âge des individus. Dans proc contents j'ai dans la colonne : type / texte.
Pour effectuer un proc means je dois transformer cette variable en numérique.

Quel programme dois-je utiliser pour créer de ma première base SAS une nouvelle base avec les variables que je souhaite garder et dans le format que je veux?
Ceci pour après travailler sur une base "propre".
Une premire solution d'après votre livre serait de taper toutes les variables à la main en créant une base comme ceci:

Data fichier2;
INPUT X1 ...;
CARDS
...
Run;

Mais quand il y a plus de 300 variables et beaucoup d'individus il est impossible de retaper à la main.

Pourriez-vous m'indiquer une procedure adéquate s'il vous plait?

Hors ligne

 

#7 21-11-2009 14:07:48

Benoit
Member
Date d'inscription: 07-09-2009
Messages: 16

Re: Traitements de données

S'il existe déjà une table SAS, pas besoin de repasser par un INFILE (heureusement, sinon bonjour les crampes aux doigts à force de taper). Il faut juste recréer une nouvelle table à partir de l'ancienne et utiliser éventuellement l'instruction KEEP.
ex:
DATA table2;
set table1 (keep= la liste des variables que l'on veut garder dans la table2);

Pour la transformation alphanumérique vers numérique soit on passe par une commande INPUT pour créer une variable num à partir d'une alpha lue grace à un informat numérique:
age_num=input(age,3.);

Soit on force la conversion alpha=>num en multipliant par un nombre:
age_num=age*1;

Tout çà est expliqué (mieux que moi) dans le bouquin.

Dernière modification par Benoit (21-11-2009 14:08:33)

Hors ligne

 

#8 21-11-2009 14:22:12

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: Traitements de données

Bon et bien je n'ai plus qu'à démissionner !

Benoit, je vous laisse les clés !

Hors ligne

 

#9 21-11-2009 14:33:41

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Re: Traitements de données

C'est bon je suis arrivé enfin a mettre tout cela en place!ouf...
Merci pour votre aide

Dernière modification par loulou (21-11-2009 15:11:04)

Hors ligne

 

#10 22-11-2009 14:36:28

loulou
membre extérieur
Date d'inscription: 08-02-2009
Messages: 41

Re: Traitements de données

Bonjour,

Une petite chose pratique, quand on a plusieurs modalités pour une variable, exemple, X1 a pour modalité soit A soit B soit C ou soit D. C'est une  variable texte.
Mais, il est impossible de faire des calculs.
Donc, comment avec une base SAS changer ce format?

Hors ligne

 

#11 22-11-2009 19:49:09

esa_sr
Administrator
Date d'inscription: 21-02-2007
Messages: 5898
Site web

Re: Traitements de données

votre variable étant qualitative, il y a quand même peut de chance que vous puissiez l'introduire telle quelle dans votre estimation. Dans ce cas, construisez des indicatrices !

IF X1=A then A=1; else A=0 ;
etc..

a+

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

[ Generated in 0.025 seconds, 6 queries executed ]