Este script utiliza un paso DATA para leer identificadores de sujeto y sus pesos, que pueden incluir unidades como 'kg' o 'lbs'. El peso se pone primero en mayúsculas. Luego, se eliminan los caracteres no numéricos (unidades y puntos), y se extrae el valor numérico. Si la unidad original era en kilogramos (detectado por la presencia de 'K'), el peso se convierte a libras. Solo se mantienen el sujeto y el peso numérico convertido. Se utiliza un PROC PRINT para mostrar el conjunto de datos resultante.
Análisis de datos
Type : CREATION_INTERNE
Los datos fuente se integran directamente en el script a través de un bloque DATALINES. Contienen identificadores de sujeto y valores de peso con sus unidades (por ejemplo, '50kg', '121Lbs.', '88KG.', '200lb'). El puntero ' @code_sas/16.4'.sas se utiliza para leer múltiples observaciones por línea física, actuando como un ' @@' con las datalines.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA lee los datos proporcionados a través de `datalines`. Utiliza un puntero de línea (` @`) para permitir leer múltiples observaciones (sujeto, peso) por línea física, ya que no hay otra instrucción INPUT en la iteración. La variable `weight` se convierte a mayúsculas. La función `compress` se utiliza para limpiar la cadena `weight` eliminando los caracteres de las unidades ('KGLBS.') y los puntos, luego `input` convierte la cadena limpia en un valor numérico (`num_weight`). Finalmente, si la unidad original era 'K' (kilogramos), el valor `num_weight` se multiplica por 2.2 para convertirlo a libras. Solo las variables `subj` y `num_weight` se conservan en el conjunto de datos 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 Bloque de código
PROC PRINT
Explicación : Esta PROC PRINT muestra el contenido del conjunto de datos `WT` creado por el paso DATA anterior, mostrando los sujetos y sus pesos convertidos a libras.
¡Copiado!
proc print;
run;
1
PROC PRINT;
2
RUN;
3
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.