top of page

FORMATS

-

INFORMATS

Différences entre les formats et les informats :

- Les formats permettent de modifier l'affichage des données. Cela va donc recoder les données.

- Les informats indiquent à SAS comment lire les données d'un fichier (fichier extérieur à SAS ou pseudo fichier saisi manuellement).

Pour créer son format personnalisé, on utilise l'instruction PROC FORMAT.

PROC FORMAT;

VALUE $rep /* On nomme le format rep. Vu qu'il est de type textuel, il est précédé du symbole $. */

'Oui', 'oui', 'yes', 'o' = 1

'Non', 'non', 'no', 'n' = 2

; /* On met le point virgule de l'instruction VALUE qu'à la fin de la déclaration du format. */

RUN;

Pour créer son informat personnalisé, c'est la même méthode, il faut juste remplacer VALUE par INVALUE.

​​

L'application des informats peut se faire de deux façons :

- Soit avec l'instruction INFORMAT (à placer avant l'instruction INPUT) : nom de la variable puis nom

de l'informat.

Il faut aussi reporter le nom des variables dans l'instruction INPUT.

DATA table1;

INFILE "/folders/myfolders/TD1/fichier1.txt" ;

INFORMAT reponse $rep. ; /* L'informat nommé rep est appliqué à la variable textuelle reponse (symbole $ avant un informat textuel). Il ne faut pas oubliez le point après l'informat. */

INPUT prenom $ nom $ reponse $; /* Dans l'instruction INPUT, les variables textuelles doivent être suivies du signe $. */

RUN;

- Soit directement dans l'instruction INPUT : nom de la variable puis nom de l'informat (avec un point à la fin).

DATA table1;

INFILE "/folders/myfolders/TD1/fichier1.txt" ;

INPUT prenom $ nom $ reponse $rep.; /* L'application de l'informat se fait directement dans l'instruction INPUT. */

RUN;

Pour appliquer un format, c'est un peu la même chose qu'avec les informats. Cette fois ci, l'instruction FORMAT se situe après l'instruction INPUT.

DATA table1;

INPUT prenom $ nom $ reponse $;

FORMAT reponse $rep.; /* Le format nommé rep est appliqué à la variable textuelle reponse (symbole $ avant un format textuel). Il ne faut pas oubliez le point après le format. */

CARDS;

Thibault Lanthiez Oui

Jean Philippe no

Paul Dupond yes

Antoine Durand n

;

RUN;

Autre exemple :

DATA Table-Recodage;

SET table1; 

FORMAT sexe sexe_f. ; /* Le format numérique nommé sexe_f est appliqué à la variable textuelle sexe. Il ne faut pas oubliez le point après le format. */

RUN;

bottom of page