El documento describe las principales instrucciones de programación en SAS, incluyendo:
1) Instrucciones de asignación para crear y modificar variables.
2) Estructuras condicionales if-then.
3) Estructuras de repetición do; end; como do simple, do iterativo, do while y do until.
El documento describe las principales instrucciones de programación en SAS, incluyendo:
1) Instrucciones de asignación para crear y modificar variables.
2) Estructuras condicionales if-then.
3) Estructuras de repetición do; end; como do simple, do iterativo, do while y do until.
El documento describe las principales instrucciones de programación en SAS, incluyendo:
1) Instrucciones de asignación para crear y modificar variables.
2) Estructuras condicionales if-then.
3) Estructuras de repetición do; end; como do simple, do iterativo, do while y do until.
Frecuentemente los conjuntos de datos no estn en la forma que se necesita para
su anlisis y es necesario realizar algunas operaciones, tales como: Agregar nueva informacin (es decir, creando nuevas variables), transformar valores, acumular totales, eliminar observaciones y variables !n los programas de "A", generalmente, las instrucciones de programacin se encuentran despu#s de $%&'(, )!*+! o '&,A(! (aunque pueden aparecer en cualquier parte del programa "A") Modificando y Creando variables. -as instrucciones de asignacin (las que utilizan el signo igual a) nos permiten la creacin de nuevas variables mediante la modificacin de las ya e.istentes/ por ejemplo, si tuvi#ramos la variable Estatura con medidas en pulgadas y se necesitara cambiar a cent0metros, se utilizar0a la siguiente instruccin: !statura 1 !statura 2 345; !l programa "A" podr0a quedar de la siguiente forma: ,A(A &ersonas/ $%&'( %ombre 6 !statura/7 Estatura = Estatura * 2.54; EnMetros = Estatura / 100; 8ards/ Alvarez 93 8amac:o 4; "olis 44 / proc print/ run/ Adems, como podr observarse la variable EnMetros :a sido creada a partir de la variable Estatura. !n la ventana de -<+ se reporta la nueva variable EnMetros !ntonces, la sinta.is para crear o modificar una variable es: %ombre=de=variable = e.presin/ %ombre=de=variable debe ser un nombre "A" y puede ser una variable nueva o ya e.istente 1 -as e.presiones son secuencias de nombres de variables, constantes o llamados a funciones, complementadas con operadores y par#ntesis, por ejemplo: $%&'( >? >3 @? @3 A A 8/ > 1 (>? B >3) C 3/ @ 1 (@? B @3) C 3/ >@ 1 >2@/ *8'A,> 1 "D*((>)/ A 1 A E (AB8) B 4F/ AF 1 abs(A22F)/ 8on $%&'( se crean las siete variables y con las instrucciones de asignacin se crean las nuevas variables, as0 por ejemplo, > es el promedio de >? y >3, >@ es el producto de > por @, *8'A,> es la ra0z cuadrtica de >, AF es el valor absoluto de A al cubo -os operadores se utilizan para realizar las operaciones aritm#ticas y son los siguientes: )ultiplicacin ( 2 ) ,ivisin ( C ) "uma ( B ) *esta ( G ) !.ponenciacin ( 22 ) "e pueden utilizar parent#sis en las operaciones, los par#ntesis se ejecutan primero Al utilizar diferentes operadores, el orden en que "A" :ace las operaciones es el siguiente: &ar#ntesis !.ponenciacin )ultiplicacin ,ivisin "uma y resta Adems de los operadores, en las e.presiones, es posible utilizar funciones "A" que son llamadas a una subrutina mediante la cual, el sistema realiza una serie de clculos &ara emplear una funcin, se escribe su nombre y el parmetro (puede ser una o varias e.presiones) entre par#ntesis, como ejemplo de funciones tenemos las siguientes: $%( (Halor entero de un nImero) AA" (Halor absoluto) "D*((*a0z cuadrada) "$% ("eno trigonom#trico) 8<" (8oseno trigonom#trico) A*"$% (Arco seno) A*8<" (Arco coseno) A(A% (Arco tangente) -<+ (-ogaritmo natural) -<+?; (-ogaritmo decimal) 2 !stas son una parte de las funciones, para conocer ms funciones y revisar su sinta.is se puede recurrir a la ayuda de "A" (tecla F?) Instruccin de Decisin (if-then) -a instruccin ift!en normalmente se emplea cuando se desea modificar o eliminar alguna variable bajo cierta condicin espec0fica !sta instruccin se debe colocar en el programa, despu#s del $%&'( y antes de la instruccin 8A*," "u sinta.is de escritura es: If condicin t!en e.presin/ !n este tipo de e.presiones, cuando la condicin que se establece se cumple, la e.presin se ejecuta, pero cuando la condicin no se cumple, la e.presin se ignora (no se ejecuta) !jemplos: If trat 1 J t!en delete/ -a instruccin anterior seKala que si la variable trat tiene el valor de J, entonces se elimina la observacin correspondiente (delete significa borrar, eliminar) "i la condicin no se cumple se ignora la instruccin delete <tro ejemplo: If ren L ; t!en ren 1 ;; -o anterior seKala que cuando la variable ren tenga un valor menor que cero (negativo), entonces ren tomar el valor cero "u sinta.is ms completa de ifGt:en es: If condicin t!en e.presin?/ else e.presin3/ !s decir, si la evaluacin de la condicin arroja un resultado verdadero (que se cumple), entonces se ejecuta la e.presin? caso contrario se ejecuta la e.presin3 !s posible escribir una instruccin ifGt:en dentro de otra instruccin ifGt:en, esto se conoce como ifMs anidados (endr0a la siguiente apariencia: $f condicin? t:en $f condicin3 t:en e.presin?/ else e.presin3/ "i se cumple condicin?, entonces se evalua condicin3, si esta Iltima se cumple entonces se ejecuta e.presin? caso contrario se ejecuta e.presin3 "0 no se cumple condicin?, no se ejecuta el segundo ifGt:en 3 Instruccin do; end; -a instruccin ,< tiene la funcin de que las instrucciones que se encuentran entre ,< y !%, se ejecuten como si fuesen una (a esta instruccin se le conoce como Ngrupo ,<O), es posible anidar grupos ,< y no :ay l0mite para este anidamiento !.isten varias formas del enunciado ,</ !%,/ y son los siguientes: ,< simple ,< iterativo ,< PQ$-! ,< '%($- "e utiliza diferente forma, segIn sea el nImero de veces que se desee que se ejecute el grupo ,< Instruccin DO simple !n general el ,< simple se usa de la siguiente forma: ,</ $nstrucciones "A" !%,/ -a instruccin ,< simple, a menudo, es usado con un enunciado $FG(Q!%, por ejemplo: $F > R 4 (Q!% ,</ @ 1 > 2 ?;/ "')> B >/ "')@ B @/ !%,/ -as instrucciones del grupo ,<, sern ejecutados si > es mayor que 4, en caso de que > sea menor o igual que 4, el sistema se salta las instrucciones del grupo ,< "i colocamos las instrucciones: $F > R 4 (Q!% @ 1 > 2 ?;/ $F > R 4 (Q!% "')> B >/ $F > R 4 (Q!% "')@ B @/ &roducen e.actamente el mismo resultado, pero la forma anterior es ms eficiente ya que en esta Iltima forma la instruccin $F se realiza tres veces 4 Instruccin DO iterativo !s una orden de repeticin que permite la construccin de ciclos, para la construccin o modificacin de conjuntos de datos, la forma general del ,< iterativo en la siguiente: ,< indice1inicio (< final SA@ incremT/ $nstrucciones "A"/ !%,/ -a variable $%,$8! tomar el valor de inicio, posteriormente crecer en el valor de increm y los enunciados del bloque se repetirn :asta que $%,$8! tome un valor igual o mayor que final. -os corc:etes en SA@ $ncremT indican que A@ $ncrem es opcional 8uando no se mencionan entonces por omisin el incremento en valor para la variable $%,$8! ser en una unidad !jemplo: ,< 8<%(13,F,U,??,?U,?V,3F/ $nstrucciones "A"/ !%,/ "A" ejecutar el bloque ,< para valores 8<%( 1 3, F, U, ??, ?U, ?V, 3F/ "e puede usar con un intervalo y un incremento, como los siguientes ejemplos: ,< $ 1 ? (< 3;/ !l incremento por default es ?, por lo que este bloque se ejecutar para cada valor de $ entre ? y 3; de uno en uno ,< $ 1 ? (< 3; A@ 3/ Aqu0 el incremento es de 3 en 3/ tambi#n es posible :acer que los valores disminuyan, por ejemplo: ,< $ 1 3; (< ? A@ G?/ -os valores no necesariamente deben ser enteros, por lo que es vlido lo siguiente: ,< $ 1 ;? (< ;V A@ ;?/ !s posible combinar la forma de intervalo con la del listado de valores de la variable, con el siguiente: 5 ,< $ 1 ; (< ?; A@ 3, ??, ?3 (< ?J A@ F/ !l bloque ,< se ejecuta para los valores de $ 1 ;, 3, 5, 9, J, ?;, ??, ?3, ?4 y ?J Instruccin DO !I"# -a instruccin de repeticin o ciclo ,< PQ$-!, se utiliza para que las instrucciones entre ,< PQ$-! y !%, se procesen repetidas veces mientras se cum"la una condicin definida por una e.presion incluida entre parentesis "inta.is: ,< PQ$-! (e.presion)/ instrucciones "A"/ !%,/ !jemplo: ,< PQ$-! (% -( 4)/ $nstrucciones "A"/ !%,/ !l grupo de instrucciones "A" se ejecutar mientras la variable % tome valores inferiores a 4 Instruccin DO $%&I" -a instruccin de repeticin o ciclo ,< '%($-, se utiliza para que las instrucciones entre ,< '%($- y !%, se procesen repetidas veces !asta #ue se cum"la una condicin definida por una e.presion incluida entre parentesis "inta.is: ,< '%($- (e.presion)/ instrucciones "A"/ !%,/ !jemplo: ,< '%($- (% R1 4)/ $nstrucciones "A"/ !%,/ !l grupo de instrucciones "A" se ejecutar !asta #ue la variable % tome valores mayores o igual a 4 6 Qay que tener cuidado cuando se utilizan ,< PQ$-! y ,< '%($- de que se cumpla la condicin de paro, caso contrario el programa continuar indefinidamente 7