Introducción a los bucles en SAS

SAS como una solución analítica fue creada en la Universidad Estatal de Carolina del Norte en la década de 1970, las próximas décadas vieron el desarrollo de más procedimientos estadísticos, la inclusión de mejores bibliotecas de componentes orientados a objetos. En el contexto actual, SAS ocupa casi el 80 por ciento del mercado total de análisis estadístico.

Un programa SAS típico se puede dividir en dos pasos, a saber, el paso DATOS y el paso PROC. El paso DATA recupera y ayuda en la manipulación de los datos, mientras que el paso PROC tiene funcionalidades para analizar los datos y realizar actividades analíticas sobre los datos. El paso de datos se puede dividir en dos fases que son las fases de compilación y ejecución.

¿Qué es un bucle?

En los fundamentos de los lenguajes de programación de computadoras, un bucle se puede considerar como una cadena o secuencia de instrucciones ejecutivas que se realiza / repite / itera continuamente hasta que se alcanza una determinada condición. Los bucles se usan para ejecutar repetidamente un bloque de instrucciones, en la clasificación del flujo en bucles podemos determinar si un bucle es un bucle controlado por entrada o si es un bucle controlado por salida, el compilador de programación antes de ejecutar las declaraciones verifica si todas las condiciones asociadas con Al comienzo de las ejecuciones de los bucles se validan y son verdaderas, esta actividad se realiza mediante bucles controlados por Entry.

Para el bucle controlado por salida, el compilador valida las condiciones asociadas con la terminación del bucle. Durante el flujo de los bucles, se completa un proceso determinado, como obtener un parámetro o cualquier elemento de los datos de entrada, el análisis de los parámetros o cambiarlo, seguido de una condición que verifica el valor límite, como si un contador (un indicador valor asociado con el bucle). Para las condiciones, si se cumple, la instrucción posterior dirige la secuencia para que regrese a la primera instrucción de la secuencia y repita la secuencia. Una vez que la condición ha alcanzado, el flujo del compilador se mueve a las ramas de instrucciones programadas presentes fuera del bucle. Por lo tanto, un bucle es un concepto de programación que se usa comúnmente para reducir la redundancia y la complejidad del código.

Bucles en SAS

A continuación hay una serie de bucles en SAS que son los siguientes:

1. Iterative Do Loops

Do Loop también se conoce como Iterative Do Loops es la forma más básica de bucles que se ejecutan en un conjunto de datos SAS en el Paso de datos SAS. Este bucle es de naturaleza totalmente incondicional y se ejecuta según la definición para iterar sobre el número fijo de recuentos o hasta que recibe un error que hace que el flujo salte del paso de datos. Este bucle encuentra su utilidad en los programas utilizados para el conteo iterativo y los programas asociados con cálculos matemáticos o estadísticos repetitivos.

Sintaxis:

do i = n a m;

nym son variables de contador.

2. Bucles condicionales

Los bucles condicionales en SAS son los otros bucles do que se ejecutan en pasos de datos. Estos son básicamente dos bucles que son Do While y Do hasta. La diferencia entre los bucles se basa en el hecho de que los bucles Do While continúan ejecutándose hasta que la condición para el bucle sea verdadera, mientras que el bucle Do Hasta se ejecutará hasta que la condición especificada permanezca falsa y el flujo se aleje del bucle tan pronto como sea posible. La condición se vuelve falsa. El bucle Do Hasta se ejecuta en la parte inferior del bucle, mientras que el bucle Do While se ejecuta en la parte superior del bucle. Esto da la mayor diferencia entre los dos bucles que Do Do se ejecutará al menos una vez cuando se usa en el programa, mientras que Do While no se ejecutará en absoluto como si la condición no fuera verdadera, el flujo no entrará en la iteración de Loops.

Sintaxis:

hacer hasta (condición);

hacer mientras (condición);

Ejemplos de bucles SAS

Tratemos de comprender el concepto de bucles en SAS utilizando programas:

Ejemplo 1: Do loop

Programa

data Test;
money = 10000
do i = 1 to 10;
money = money - 1000;
output;
end;
run;

Salida

Dineroyo
190001
280002
370003
4 460004 4
5 550005 5
6 640006 6
7 730007 7
820008
9 910009 9
100 010

Explicación:

En el ejemplo anterior, declaramos una variable (dinero) inicializada con un valor de 10000, el programa recorre el contador cargado con un valor inicial de 0 para iterar más de 10 veces. Cada iteración reduce el valor de la variable con 1000. La declaración de salida se ejecuta antes de que finalice el ciclo.

Ejemplo 2: Do While Loop

Programa

run;
data Test;
money = 10000;
newCounter = 0;
do while (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;

Salida

dineronewCounter
10 010

Explicación

En el ejemplo anterior, declaramos dos variables money y newCounter y las inicializamos con los valores 10000 y 0 respectivamente. El paso de datos se ejecuta hasta que el valor de la variable de dinero alcance 0, que en este caso toma 10 iteraciones, en cada iteración la variable newCounter se incrementa en un valor de 1. Estamos usando newCounter como una variable de contador en este programa.

Ejemplo 3: Hacer hasta el bucle

Programa

data Test;
money = 10000;
newCounter = 0;
do until (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
run;
Salida

dineronewCounter
10 010

Explicación

En este ejemplo, estamos tratando de replicar la funcionalidad del ejemplo del ciclo Do mientras se ilustra arriba, sin embargo, utilizando el ciclo do until. La variable money y newCounter se inicializan con un valor inicial de 10000 y 0 respectivamente. Si no se ejecuta el ciclo con la condición de que la variable de dinero no sea igual a cero, la ejecución del flujo se sale del ciclo tan pronto como el valor de la variable llega a cero, que en este caso toma 10 iteraciones.

Conclusión

Por lo tanto, hemos definido los diferentes tipos de bucles en SAS y explicamos sus funcionalidades en función de su flujo de control. Sin embargo, hay un bucle adicional que se ha desarrollado recientemente para escanear sobre una matriz indexada. Sin embargo, no puede considerarse un bucle regular en SAS, ya que es un bucle compuesto para ejecutar variables iterativas sobreindicadas de sentencias iterativas, como una matriz.

Artículos recomendados

Esta ha sido una guía de Loops en SAS. Aquí discutimos la introducción de bucles en SAS, diferentes tipos de bucles con ejemplos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es un lenguaje de programación?
  2. Introducción a los bucles en C ++
  3. Guía de lo que es SAS
  4. Bucles en R
  5. Diferentes tipos de bucles con sus ventajas
  6. Bucles en PowerShell | Tipos y beneficios

Categoría: