Archive pour décembre 2009

h1

Entretien avec Susan Slaughter et Lora Delwiche, auteurs de The Little SAS Book (partie 3)

décembre 14, 2009

Susan Slaughter (www.avocetsolutions.com) et Lora Delwiche sont les auteurs du livre The Little SAS Book: A Primer et The Little SAS Book for Enterprise Guide 4.1. Pour vous, elles ont accepté de répondre à mes questions. Voici donc un entretien à distance entre Europe et Etats-Unis. La première section est la version originale. La seconde est ma traduction en français.


La première partie de cet entretien était tournée vers The Little SAS Book: A primer (lire l’article), la seconde partie s’intéressait à The Little SAS Book for Enterprise Guide (lire l’article) et la troisième pourrait s’intituler : derrière la scène/dans les coulisses.

1. Partie 3, Version originale : Behind the Screen

Véronique: Writing a book represents a huge work. Having a co-writer can made this work even more difficult. Why do you think it works properly for both of you?

Lora: When we started working together, we quickly discovered that we had similar ideas about what the book should be like. But at the same time, we come from different backgrounds, so we each have a different perspective. We review each other’s work and develop ideas together. Susan and I are sure that our books are much better because we have each other.

Susan: And, the best part is that we only have to write half a book!

Véronique: Which functionalities would you like to see in the next released SAS version?

Susan: I am looking forward to the ODS Graphics Designer, an interactive tool for creating graphs that can be run in batch. And ODS Layout promises to revolutionize the way we think of reports in SAS. Those features are both experimental now, but I hope they will be production in SAS 9.3.

Véronique: You attend from time to time SAS user conferences and present SAS papers. What are your planned meetings for the coming year?

Lora: Susan and I just returned from the Western Users of SAS Software conference in San Jose, California (agenda) where we presented a paper on debugging SAS programs (ERRORS, WARNINGS, and NOTES : A Practical Guide to Debugging SAS) and a workshop on the SGPLOT procedure (Using PROC SGPLOT for Quick High-Quality Graphs). We also plan to attend the SAS Global Forum next spring in Seattle, Washington. We both love attending SAS conferences where we get to see old SAS friends and meet new people. It is especially rewarding when we meet someone who tells us that our book is useful for them.

Véronique: Do either of you speak French? Can we expect a French version of The Little SAS Book in the near future?

Susan: I wish I could speak French. I studied French in school for five years, including one year at a university, and I got very good grades. After all that time, I realized that I would never learn to speak French fluently by sitting in a classroom. That’s true for most people. In fact, there is an old joke about this:

A person who speaks two languages is called bilingual. A person who speaks three languages is called trilingual. What do you call a person who speaks one language?

Answer: An American.

Lora: Unfortunately, there are no current plans to translate either of our books into French, but our publisher says they are open to the idea!

Véronique: Thank you for sharing your experience with us. It was a real pleasure discussing about your two main publications major SAS reference materials for anyone willing to make a start with the SAS software and its programming language: The Little SAS Book: A Primer (4th edition, 2008) and The Little SAS Book for Enterprise Guide 4.1 (Edition for Enterprise Guide 4.2 planned for spring 2010).

2. Partie 3, Traduction en français : Behind the Screen

Véronique : Ecrire un livre représente un travail considérable. Avoir un co-auteur peut rendre ce travail encore plus difficile. Pourquoi pensez-vous que cela a marché correctement pour vous deux ?

Lora : Quand nous avons commencé à travailler ensemble, nous avons rapidement découvert que nous avions des idées similaires sur ce que le livre devrait être. Mais en même temps, nous avons des acquis différents. Donc, nous avons chacune une vision différente. Nous relisons le travail de l’autre et développons des idées ensemble. Susan et moi somme sûres que nos livres sont bien meilleurs parce que nous avons l’une l’autre.

Susan : Et, la meilleurs partie est que nous avons seulement la moitié d’un livre à écrire.

Véronique : Quelles fonctionnalités aimeriez-vous voir dans la prochaine version de SAS disponible ?

Susan : J’attends avec impatient ODS Graphics Designer, un outil interactif pour créer des graphiques qui peut fonctionner en batch. Et ODS Layout promet de révolutionner la manière dont nous pensons aux rapports en SAS. Ces caractéristiques sont toutes les deux expérimentales actuellement, mais j’espère qu’elles seront effectives dans SAS 9.3.

Véronique : Vous participez, de temps en temps, à des conférences d’utilisateurs SAS et présentez des articles sur SAS. Quelles sont vos rencontres prévues pour l’année à venir ?

Lora : Susan et moi revenons justement de la conférence des utilisateurs du logiciel SAS de l’Ouest à San Jose, Californie (agenda), où nous présentions un article proposant des solutions pour débugger des programmes SAS (ERRORS, WARNINGS, and NOTES : A Practical Guide to Debugging SAS) et un workshop sur la procédure SGPLOT (Using PROC SGPLOT for Quick High-Quality Graphs). Nous prévoyons également d’être présentes au SAS Global Forum au printemps prochain à Seattle, Washington. Nous aimons toutes les deux assister aux conférences SAS où nous pour voir nos anciens amis SAS et rencontrer de nouvelles personnes. C’est particulièrement valorisant quand nous rencontrons quelqu’un qui nous dis que notre livre leur a été utile.

Véronique : Est-ce que l’une d’entre vous parle français ? Peut-on attendre une version française du The Little SAS Book dans l’année à venir ?

Susan : J’aimerais pouvoir parler français. J’ai étudié le français à l’école pendant 5 ans, comprenant une année dans une université et j’avais de très bonnes notes. Après tout ce temps, j’ai compris que je ne pourrais jamais apprendre à parler français couramment en restant assise dans une classe. C’est vrai pour la plupart des personnes. En fait, il y a une veille blague à ce sujet :

Une personne qui parle deux langues est appelée bilingue. Une personne qui parle trois langues est appelée trilingue. Qu’en est-il d’une personne qui parle une langue ?

Réponse : un américain.

Lora : Malheureusement, il n’a pas de projet actuel pour traduire un de nos livres en français, mais notre éditeur dit qu’il reste ouvert à cette idée.

Véronique : Merci d’avoir partagé votre expérience avec nous. C’était un réel plaisir de pouvoir discuter avec vous de vos deux principales publications qui sont des supports de références sur SAS pour qui veux débuter avec le logiciel SAS et son langage de programmation : The Little SAS Book: A Primer (4ème édition, 2008) et The Little SAS Book for Enterprise Guide 4.1 (édition pour Enterprise Guide 4.2 prévue pour le printemps 2010).

Lecture complémentaire

h1

Afficher toutes les valeurs possibles d’une variable définies dans un format avec PRELOADFMT option (PROC TABULATE)

décembre 2, 2009

Vous pouvez avoir besoin de réaliser un tableau comptant le nombre d’observations par catégories. Deux possibilités s’offrent à vous :
afficher le nombre d’observations parmi les catégories présentent dans vos données ou
afficher le nombre d’observations pour toutes les catégories possibles et imaginables définies dans un format. Les catégories non présentent dans les données ont alors une fréquence de zéro.

Par défaut, seules les catégories présentent dans les données seront retenues par PROC TABULATE.
Voici comment utiliser les options PRELOADFMT ORDER= et PRINTMISS pour prendre en compte tous les valeurs possibles et non seulement celles observées.

1. Préparer les données

Dans un premier temps, un format caractère $SEX est créé. Il prend trois valeurs possibles, M pour les hommes (male), F pour les femmes (female), et pour tout autre caractère, le label sera Missing.

proc format;
value $ sex ‘M’=‘Male’
‘F’=‘Female’
other=‘Missing’;
run;

2. Compter le nombre de garçons et de filles ayant une donnée pour l’âge.

Ici, on note que 10 garçons et 9 filles ont une donnée sur l’âge. Notez que la statistique n se limite aux valeurs non manquantes, sur le même principe que la fonction n. Si un âge est manquant, il ne sera pas inclus avec cette statistique mais avec la statistique nmiss.

proc tabulate data=sashelp.class;
class sex;
var age;
table sex=‘ ‘,age=‘ ‘*n=‘Freq’*f=5.;
format sex $sex.;
run;

A présent ce qui nous intéresse est d’afficher toutes les catégories possibles pour la variable SEX, comme définies dans le format $SEX.

Dans l’instruction CLASS, il faudra ajouter l’option /PRELOADFMT order=data.
Tandis que dans l’instruction TABLE, il faudra noter l’option PRINTMISS.

A la place de ORDER=DATA, vous pouvez mettre ORDER=FORMATTED, ORDER=UNFORMATTED ou encore ORDER=FREQ.

proc tabulate data=sashelp.class;
class sex/preloadfmt order=data;
var age;
table sex=‘ ‘,age=‘ ‘*n=‘Freq’*f=5./printmiss;
format sex $sex.;
run;

3. Calculer l’âge moyen des garçons et des filles

L’âge sera calculer en se servant des valeurs non manquantes.

L’âge moyen sera manquant (représenté par un point) pour les catégories de SEX où aucun âge n’est disponible. Vous pouvez remplacer ce point par un zéro via l’instruction TABLE au moyen de l’option /MISSTEXT=’0′.

Avant sans MISSTEXT=’0′

proc tabulate data=class;
class sex/preloadfmt order=data;
var age;
table sex=‘ ‘,age=‘ ‘*mean=‘Mean Age’*f=5./printmiss;
format sex $sex.;
run;

Après avec MISSTEXT=’0′

proc tabulate data=class;
class sex/preloadfmt order=data;
var age;
table sex=‘ ‘,age=‘ ‘*mean=‘Mean Age’*f=5./printmiss misstext=’0′;
format sex $sex.;
run;

Suivre

Get every new post delivered to your Inbox.