Posts Tagged ‘données’

h1

Emploi/Formation : Pourquoi j’ai choisi l’IUT STID Vannes ?

janvier 30, 2010

1998, Bac Economique et Social (ES) en poche, je décide de poursuivre une formation en statistique. Pourquoi ai-je STID Vannes ? Voici quelques informations qu’il peut-être bon de  collecter avant de prendre une décision sur les formations.

1. De riches informations jointes au dossier d’inscription

J’ai trouvé, joins au dossier d’inscription, une petite revue qui m’explique concrètement ce qui allait m’attendre les deux prochaines années et après. 12 ans plus tard, je peux encore me rappeler qu’il y avait :

Un tableau récapitulatif des matières enseignées avec

  • le nombre d’heure d’enseignement
  • la répartition des heures par semestre
  • le mode d’évaluation de chaque matière

A ce tableau était joint un paragraphe par matière, expliquant plus en détail le contenu du programme.

En fin de revue, une page de statistiques m’indique les débouchés de ses anciens étudiants.

  • la répartition géographique (80% était alors sur Paris)
  • les secteurs d’activités (avec 4/5 secteurs majeurs)
  • le temps avant de trouver un premier job
  • la part des personnes ayant choisi des poursuites d’études

2. Un site des anciens étudiants très utile dans une cadre de recherche d’emploi

Je ne connaissais pas encore le site des anciens étudiants (www.aesv.net) au moment de l’inscription. Mais je ne connaissais pas Internet non plus. C’était en 1998. Aujourd’hui je dirais que c’est un des atouts majeurs de l’IUT. Voici quelques fonctionnalités avec lesquelles j’ai eu une très bonne expérience.

STID Vannes, AESV.net

Un annuaire avec plus de 1000 anciens étudiants

Alors que je recherchais un stage hors France et Angleterre, j’ai pu trouvé un ancien en Allemagne. Celui-ci a pu me dire si la société pour laquelle il travaillait prenait des stagiaires et quelle était la personne à contacter.

Avant de postuler pour un job, je regardais s’il y avait déjà des anciens dans l’entreprise pour mieux cerner les valeurs de la société, voir les attentes du service qui recrutait. Certains anciens ont même proposé de relire CV et lettre de motivation.

Arrivée dans une nouvelle ville, cela m’a permis de prendre contact avec d’autres personnes de la même région.

Réciproquement, des étudiants m’ont contacté pour avoir mon opinion sur la poursuite d’études à l’étranger. Parmi les informations que j’ai saisies, on a : coordonnées personnelles, coordonnées professionnelles, baccalauréat, parcours universitaire et parcours professionnel, photo.

Des statistiques sur les salaires

Lors d’un entretien pour premier emploi, l’observatoire des salaires aide à estimer un intervalle de salaire auquel on peut prétendre.

Dépôt de CVs et accès aux offres d’emploi

Pour une somme modique de 8 euros par année civile, il es possible de déposer son CV et recevoir les offres d’emploi actuelles et consulter l’historique. C’est le seul service payant, service qui permet de financer l’association. L’IUT ayant un large réseau dans les entreprises, les deux services s’avèrent très fructueux:

Accès aux offres d’emploi : l’historique des offres avec une cartographie avancée permet de repérer les entreprises qui ont déjà recruter, voir le type de postes pouvant être proposé et ensuite faire une candidature spontanée ciblée.

Dépôt de CV : une entreprise pharmaceutique m’avait contacté suite au dépôt de CV sur le site.

Favoriser les échanges entre anciens avec un forum et des rencontres festives

En prime, on trouve d’autres services comme un forum, des moments festifs pour les anciens (journée pétanque sur Paris, soirées anniversaires de l’IUT).

Tout cela pour dire qu’il m’apparaît judicieux d’étendre le choix de sa formation au delà d’un simple programme de formation.

Publicités
h1

Tout sur l’instruction BY

avril 14, 2009

Me rendant compte que l’instruction BY pouvait poser des difficultés lorsqu’on débute avec SAS, j’ai décidé de faire le point sur cette instruction.

1. Une instruction locale

L’instruction BY peut servir dans toutes les étapes data et procédures à l’exception de PROC SQL.

2. Un ordre défini par le nom des variables :

L’instruction BY est suivie du nom des variables servant pour le tri.

Dans un premier temps, les observations sont triées selon les valeurs de la première variable citée, ici SEX. Puis, pour chacune des valeurs prises par SEX (M et F), les données sont triées par NAME.

proc sort data=sashelp.class out=class;
   by sex name;
run;

3. PROC SORT : le premier usage de l’instruction BY : L’instruction BY est logiquement obligatoire dans un PROC SORT. Sinon SAS ne saurait pas dans quel ordre trier les données. Le mot DESCENDING peut-être ajouté pour préciser un ordre décroissant. Ici les données sont d’abord triées par SEX puis par nom en ordre descendant.

proc sort data=sashelp.class out=class;
   by sex descending name;
run;

L’autre manière de trier les données est d’utiliser la procédure PROC SQL.

Idée : Vous aurez souvent un PROC SORT avant d’utiliser l’instruction BY dans une autre procédure ou étape data. Simplifiez-vous la vie en copiant l’insstruction au niveau du PROC SORT et en la collant au niveau de la procédure ou étape data suivante.

4. SAS vous informe si les données ne sont pas triées comme indiqué

L’instruction BY précise à SAS dans quel ordre les données doivent être lues. Si les données ne respectent pas cet ordre, SAS s’arrête et fourni un message d’erreur.

5. L’instruction BY : obligatoire ou optionnelle ?

L’instruction BY est optionelle dans une instruction SET. Utilisée pour empiler les données de deux data sets, elle permettra d’intercaler les observations des deux sources selon leur valeurs au lieu de mettre d’abord toutes les observations du premier data set cité et ensuite toutes les observations du second data set.

L’instruction BY reste pratiquement indispensable avec MERGE puisqu’elle sert à relier les observations de deux data sets par les variables du même nom. Sans elle, les observations du second data set pour les variables du même nom réécrirait sur celle du premier.

L’instruction BY est indispensable avec FIRST et LAST.

6. D’autres usages de l’instruction BY

L’instruction BY peut s’ajouter dans un PROC REPORT. Une option NOBYLINE permettra de changer le titre à chaque nouvelle combinaison de valeurs désignée par l’instruction. Néanmoins la mise à jour du titre par cette approche avec ODS RTF par exemple ne fonctionne pas.

L’instruction BY peut servir dans toutes less procédures (sauf PROC SQL) et notamment dans les procédures statistiques. Voir dans les lectures complémentaire l’usage de l’instruction BY avec PROC FREQ.

Lectures Complémentaires

SAS Online Doc

  • BY-Group Processing in SAS Programs
h1

Trier les données par ordre croissant et décroissant

septembre 23, 2008

Pour trier (to sort en anglais) les données d’un tableau SAS dans un ordre croissant ou décroissant, il existe sous SAS deux approches : la première consiste à faire appel à la procédure PROC SORT sur un data set existant, la seconde consiste à ordonner les données sélectionnées dans une procédure PROC SQL.

1. L’exemple

Dans l’exemple ci-dessous, les données du data set CLASS situé dans la bibliothèque SASHELP sont triées selon les valeurs des variables SEX, AGE et NAME.

  1. Variable SEX, ordre croissant : Les données de la variable SEX sont d’abord triées par ordre croissant (increasing order). Les femmes (F pour Female) apparaissent en premier, les hommes (M pour Male) apparaissent en second.
  2. Variable AGE, ordre décroissant : Dans chacun des groupes, les données sont ensuite triées par ordre décroissant d’âge (descreasing order). Les femmes les plus âgées apparaissent en premier et les hommes les plus jeunes en dernier.
  3. Variable NAME, ordre décroissant : Enfin quand plusieurs personnes du même sexe et du même âge appaissent, les données sont triées par ordre alphabétique inverse.

2. Trier par ordre décroissant

Deux mots-clés différents : Pour trier les données par ordre décroissant, chaque variable doit être accompagnée d’un mot-clé. Il s’agit de DESCENDING avec PROC SORT et DESC avec PROC SQL.

Deux mot-clés situés à des endroits différents : Dans le cas de PROC SORT, ce mot DESCDENDING apparaît avant le nom de la variable. Dans le cas de la PROC SQL, DESC suit la variable

3. La procédure PROC SORT

Les data sets de la bibliothèque SASHELP sont des données figées par SAS. Elles ne peuvent donc pas être modifiées. C’est pourquoi dans l’exemple, un nouveau data set CLASS est créé dans la bibliothèque WORK grâce à OUT=.

proc sort data=sashelp.class out=class;
by sex descending age descending name;
run;

Un PROC PRINT suffira pour afficher les trois variables ou toutes les variables triées. NOOBS enlèvera le numéro des observations qui appraissent par défaut.

proc print data=class noobs;
*var sex age name;
run;

4. La procédure SQL

proc sql;
select sex, age, name
from sashelp.class
order by sex, age desc, name desc;
quit;

Rappel : Pour afficher toutes les variables remplacées la liste de SELECT par une étoile (*). Pour créer un data set, ajoutez CREATE TABLE class AS.

5. Le résultat

sex  age  name

F   15   Mary
F   15   Janet
F   14   Judy
F   14   Carol
F   13   Barbara
F   13   Alice
F   12   Louise
F   12   Jane
F   11   Joyce
M   16   Philip
M   15   William
M   15   Ronald
M   14   Henry
M   14   Alfred
M   13   Jefrrey
M   12   Robert
M   12   John
M   12   James
M   11   Thomas

h1

Faire pivoter un data set (un 1er exemple de PROC TRANSPOSE)

juillet 10, 2008

La transposition de jeux de données sous SAS est une étape fréquente dans le processus de programmation. Voici pour débuter un premier exemple pour se familiariser avec la syntaxe de base.

1. Les données d’origine

Le data set illustrant le sujet est composé de trois variables :

  • le numéro du patient (PAT_ID)
  • le numéro de la visite (VISIT) prenant les valeurs 18 pour début de visite, 50 pour fin de visite et 70 pour suivi
  • la date de cette visite (VISIT_DT).

En fin d’article, vous trouverez le code pour créer ce data set.

pat_id visit visit_dt

   1     18  25MAR2007
   1     70  15OCT2007
   1     50  01JUL2007
   2     18  14APR2007
   2     50  08AUG2007
   3     50  16OCT2007

2. Le minimum

Pour afficher une ligne par patient, il faut faire appel à la procédure PROC TRANSPOSE.

Dans le cas présent, on a choisi d’afficher la date de la visite (VAR VISIT_DT) pour chaque patient (BY PAT_ID). Le numéro de la visite est perdu dans cette transposition.

Le minimum de la syntaxe requiert la création d’un nouveau data set introduit par le mot-clé OUT=. Ce data set peut avoir le même nom que le data set d’origine. Il faut au moins lister une variable.

proc transpose data=one out=two;
   by pat_id;
   var visit_dt;
run;

pat_id  _NAME_    COL1      COL2      COL3

   1   visit_dt 25MAR2007 15OCT2007 01JUL2007
   2   visit_dt 14APR2007 08AUG2007         .
   3   visit_dt 16OCT2007         .         .

3. Les options et instructions supplémentaires

3.1 Des variables automatiques supprimées avec l’option DROP= : Le nom de la variable utilisée pour créer les colonnes COL1-COL3 est donné de manière automatique par SAS. Cette information est sauvegardée dans la variable _NAME_. Elle peut dont être supprimée avec l’option DROP attachée au data set de sortie nommé TWO.

proc transpose data=one out=two (drop=_name_);
   by pat_id;
   var visit_dt;
run;

pat_id         COL1         COL2         COL3

   1      25MAR2007    15OCT2007    01JUL2007
   2      14APR2007    08AUG2007            .
   3      16OCT2007            .            .

3.2 Une colonne propre à une visite donnée grâce à l’instruction ID : On remarque que pour le premier patient, la visite du 15 octobre est citée avant celle du 1er juillet. En d’autres termes, une colonne donnée ne correspond pas à une visite donnée mais à l’ordre des données dans le fichier source. De la même manière, la deuxième visite du troisième patient apparaît dans la première colonne.

Pour que chaque colonne corresponde à un numéro de visite donné, on fait appel à l’instruction ID suivie du nom de la variable définissant la colonne. Dans notre cas, il s’agit de la variable VISIT.

proc transpose data=one out=two (drop=_name_);
   by pat_id;
   var visit_dt;
   id visit;
run;

pat_id          _18          _70          _50

   1      25MAR2007    15OCT2007    01JUL2007
   2      14APR2007            .    08AUG2007
   3              .            .    16OCT2007

3.3 Des noms de colonnes personnalisés grâce à PREFIX = : Maintenant chaque colonne correspond à une visite en particulier. Comme les numéros de visites sont des nombres et que les variables de SAS ne peuvent commencer par un chiffre, SAS ajoute automatiquement un tiret bas devant. Pour donner un nom un peu plus parlant, on peut ajouter un préfixe à ces noms de colonne.

proc transpose data=one out=two (drop=_name_) prefix=VISIT;
   by pat_id;
   var visit_dt;
   id visit;
run;

pat_id      VISIT18      VISIT70      VISIT50

   1      25MAR2007    15OCT2007    01JUL2007
   2      14APR2007            .    08AUG2007
   3              .            .    16OCT2007 

3.4 Lister toutes les variables commençant par un nom donné

Avoir une série de variables commençant par le même préfixe présente des avantages car SAS permet d’y référer très simplement.

La syntaxe SAS : Pour lister toutes ces variables, il suffit de faire suivre le préfixe de deux points. Dans notre exemple, toutes les variables commençant par le mot VISIT sont listées avec VISIT:.

Voici quelques exemples d’applications de cette syntaxe :

  • un PROC TRANSPOSE : lister les variables à transposer
  • une option KEEP/DROP : lister les variables à garder ou à supprimer
  • un ARRAY : lister les variables définissant l’array.

Annexe :

data one;
   input pat_id visit visit_dt date9.;
   format visit_dt date9.;
   datalines;
1 18 25MAR2007
1 70 15OCT2007
1 50 01JUL2007
2 18 14APR2007
2 50 08AUG2007
3 18 16OCT2007
;
run;