Ce script utilise une étape DATA pour lire des identifiants de sujet et leurs poids, qui peuvent inclure des unités comme 'kg' ou 'lbs'. Le poids est d'abord mis en majuscules. Ensuite, les caractères non numériques (unités et points) sont supprimés, et la valeur numérique est extraite. Si l'unité originale était en kilogrammes (détecté par la présence de 'K'), le poids est converti en livres. Seuls le sujet et le poids numérique converti sont conservés. Une PROC PRINT est utilisée pour afficher le jeu de données résultant.
Analyse des données
Type : CREATION_INTERNE
Les données source sont intégrées directement dans le script via un bloc DATALINES. Elles contiennent des identifiants de sujet et des valeurs de poids avec leurs unités (par exemple, '50kg', '121Lbs.', '88KG.', '200lb'). Le pointeur '@' est utilisé pour lire plusieurs observations par ligne physique, agissant comme un '@@' avec les datalines.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA lit les données fournies via `datalines`. Il utilise un pointeur de ligne (`@`) pour permettre de lire plusieurs observations (sujet, poids) par ligne physique, car il n'y a pas d'autre instruction INPUT dans l'itération. La variable `weight` est convertie en majuscules. La fonction `compress` est utilisée pour nettoyer la chaîne `weight` en retirant les caractères des unités ('KGLBS.') et les points, puis `input` convertit la chaîne nettoyée en une valeur numérique (`num_weight`). Enfin, si l'unité originale était 'K' (kilogrammes), la valeur `num_weight` est multipliée par 2.2 pour la convertir en livres. Seules les variables `subj` et `num_weight` sont conservées dans le jeu de données final `WT`.
IF index(weight, "K") > 0 THEN num_weight = num_weight * 2.2;
6
keep subj num_weight;
7
8
DATALINES;
9
1 50kg 21203 121Lbs. 4 88KG. 5200
10
6 80kG 7 250lb
11
;
12
2 Bloc de code
PROC PRINT
Explication : Cette PROC PRINT affiche le contenu du jeu de données `WT` créé par l'étape DATA précédente, montrant les sujets et leurs poids convertis en livres.
Copié !
proc print;
run;
1
PROC PRINT;
2
RUN;
3
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.