SAS : la différence entre PUT et INPUT



Vous pouvez utiliser les fonctions PUT et INPUT dans SAS pour convertir des variables en différents types de données.

Voici la différence entre les deux fonctions :

La fonction PUT prend des variables de caractères ou numériques en entrée et génère toujours des variables de caractères .

La fonction INPUT prend uniquement des variables de caractères en entrée et peut générer des variables de caractères ou numériques .

Les exemples suivants montrent deux manières courantes d’utiliser les fonctions PUT et INPUT dans la pratique.

Exemple 1 : Utilisation de PUT pour convertir une variable numérique en variable de caractère

Supposons que nous ayons l’ensemble de données suivant dans SAS qui montre les ventes totales réalisées par un magasin pendant 10 jours consécutifs :

/*create dataset*/
data original_data;
    input day sales;
    datalines;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run;

/*view dataset*/
proc print data=original_data;

Nous pouvons utiliser le contenu de la procédure pour afficher le type de données de chaque variable de l’ensemble de données :

/*display data type for each variable*/
proc contents data=original_data;

Nous pouvons voir que le jour et les ventes sont tous deux des variables numériques.

Nous pouvons utiliser la fonction PUT pour convertir la variable jour de numérique en caractère :

/*create new dataset where 'day' is character*/
data new_data;
    set original_data;
    char_day = put(day, 8.);
    drop day;
run;

/*view new dataset*/
proc print data=new_data; 

Nous pouvons à nouveau utiliser le contenu de proc pour vérifier le type de données de chaque variable dans le nouvel ensemble de données :

/*display data type for each variable in new dataset*/
proc contents data=new_data;

Nous avons utilisé avec succès la fonction PUT pour convertir la variable day de numérique en une nouvelle variable de caractère appelée char_day .

Exemple 2 : Utilisation de INPUT pour convertir une variable de caractère en variable numérique

Supposons que nous ayons l’ensemble de données suivant dans SAS qui montre les ventes totales réalisées par un magasin pendant 10 jours consécutifs :

/*create dataset*/
data original_data;
    input day $ sales;
    datalines;
1 7
2 12
3 15
4 14
5 13
6 11
7 10
8 16
9 18
10 24
;
run;

/*view dataset*/
proc print data=original_data;

Nous pouvons utiliser le contenu de la procédure pour afficher le type de données de chaque variable de l’ensemble de données :

/*display data type for each variable*/
proc contents data=original_data;

Nous pouvons voir que le jour est une variable caractère et que les ventes sont une variable numérique.

Nous pouvons utiliser la fonction INPUT pour convertir la variable jour de caractère en numérique :

/*create new dataset where 'day' is numeric*/
data new_data;
    set original_data;
    numeric_day = input(day, comma9.);
    drop day;
run;

/*view new dataset*/
proc print data=new_data; 

Nous pouvons à nouveau utiliser le contenu de proc pour vérifier le type de données de chaque variable dans le nouvel ensemble de données :

/*display data type for each variable in new dataset*/
proc contents data=new_data;

Nous avons utilisé avec succès la fonction INPUT pour convertir la variable day d’une variable de caractère en une nouvelle variable numérique appelée numeric_day .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment convertir une variable de caractère en numérique
SAS : Comment convertir une variable numérique en caractère
SAS : Comment convertir une variable de caractère en date
SAS : Comment convertir une variable numérique en date

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *