Introdução aos loops no SAS

O SAS como uma solução analítica foi criado na North Carolina State University na década de 1970, nas próximas décadas houve o desenvolvimento de procedimentos estatísticos adicionais, a inclusão de melhores bibliotecas de componentes orientadas a objetos. No presente contexto, o SAS ocupa quase 80% do mercado total de análise estatística.

Um programa SAS típico pode ser dividido em duas etapas, a DATA e a PROC. A etapa DATA recupera e ajuda na manipulação dos dados, enquanto a etapa PROC possui funcionalidades para analisar os dados e executar atividades analíticas nos dados. A etapa Dados pode ainda ser dividida em duas fases, que são as fases de compilação e Execução.

O que é um loop?

Nos fundamentos das linguagens de programação de computadores, um loop pode ser considerado como uma cadeia ou sequência de instruções executivas que são continuamente executadas / repetidas / ou iteradas até que uma determinada condição seja alcançada. Loops são usados ​​para executar repetidamente um bloco de instruções. Na classificação do fluxo em loops, podemos determinar se um loop é um loop controlado por entrada ou se é um loop controlado por saída. O compilador de programação antes de executar as instruções verifica se todas as condições associadas a o início das execuções de loops é validado e verdadeiro, essa atividade é executada por loops controlados por entrada.

Para o loop controlado por saída, o compilador valida as condições associadas à finalização do loop. Durante o fluxo dos loops, um determinado processo é concluído, como obter um parâmetro ou qualquer item dos dados de entrada, analisar os parâmetros ou alterá-los, seguido de uma condição que verifica o valor limite, como se um contador (um sinalizador valor associado ao loop). Para as condições, se for satisfeita, a instrução subsequente direciona a sequência para retornar à primeira instrução na sequência e repita a sequência. Quando a condição é atingida, o fluxo do compilador se move para as ramificações de instruções programadas presentes fora do loop. Assim, um loop é um conceito de programação que é comumente usado para reduzir a redundância e complexidade do código.

Loops no SAS

Abaixo estão alguns loops no SAS:

1. Loops iterativos

Do Loop, também conhecidos como Loops Iterativos de Do, são a forma mais básica de loops executados em um conjunto de dados SAS na Etapa de Dados do SAS. Esse loop é totalmente incondicional por natureza e é executado de acordo com a definição para iterar sobre o número fixo de contagens ou até receber um erro que resulta no fluxo a ser ignorado da etapa de dados. Esse loop encontra utilidade em programas usados ​​para contagem iterativa e em programas associados a cálculos matemáticos ou estatísticos repetitivos.

Sintaxe:

faça i = n para m;

nem são variáveis ​​contrárias.

2. Loops Condicionais

Loops condicionais no SAS são os outros loops executados nas etapas de dados. Estes são basicamente dois loops que são Do While e Do até. A diferença entre os loops é baseada no fato de que os loops Do While continuam sendo executados até que a condição do loop seja verdadeira, enquanto o loop Do While será executado até que a condição especificada permaneça falsa e o fluxo se afaste do loop assim que a condição se torna falsa. O loop Do Até é executado na parte inferior do loop, enquanto o loop Do While é executado na parte superior do loop. Isso fornece a principal diferença entre os dois loops que são Do Até serão executados pelo menos uma vez quando usados ​​no programa, enquanto o Do While pode não ser executado como se a condição não fosse verdadeira, o fluxo não entrará na iteração de Loops.

Sintaxe:

faça até (condição);

faça enquanto (condição);

Exemplos de loops SAS

Vamos tentar entender o conceito de loops no SAS usando programas:

Exemplo 1: Fazer loop

Programa

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

Resultado

DinheiroEu
190001
280002
370003
460004
550005
640006
730007
820008
910009
100 010

Explicação:

No exemplo acima, declaramos uma variável (dinheiro) inicializada com um valor de 10000, o programa circula no contador carregado com um valor inicial de 0 para iterar mais de 10 vezes. Cada iteração reduz o valor da variável com 1000. A instrução de saída é executada antes do final do loop.

Exemplo 2: Loop Do While

Programa

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

Resultado

dinheironewCounter
1 10 010

Explicação

No exemplo acima, declaramos duas variáveis ​​money e newCounter e as inicializamos com os valores 10000 e 0, respectivamente. A etapa de dados é executada até que o valor da variável money atinja 0, que neste caso realiza 10 iterações. Em cada iteração, a variável newCounter é incrementada em um valor de 1. Estamos usando o newCounter como uma variável de contador neste programa.

Exemplo 3: Fazer até loop

Programa

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

dinheironewCounter
1 10 010

Explicação

Neste exemplo, estamos tentando replicar a funcionalidade do exemplo do loop Do while ilustrado acima, porém usando o loop do while. A variável money e newCounter são inicializados com um valor inicial de 10000 e 0, respectivamente. O processo até o loop ser executado sob a condição de que a variável money não seja igual a zero, a execução do fluxo sai do loop assim que o valor da variável chega a zero, que neste caso realiza 10 iterações.

Conclusão

Assim, definimos os diferentes tipos de loops no SAS e explicamos suas funcionalidades com base em seu fluxo de controle. No entanto, há um loop adicional que foi desenvolvido recentemente para verificar sobre uma matriz indexada. No entanto, ele não pode ser considerado um loop regular no SAS, pois é um loop composto para a execução de variáveis ​​indexadas por instrução iterativa, como uma matriz.

Artigos recomendados

Este foi um guia para loops no SAS. Aqui discutimos a introdução de loops no SAS, diferentes tipos de loops com exemplos. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é uma linguagem de programação?
  2. Introdução aos loops em C ++
  3. Guia do que é SAS
  4. Loops em R
  5. Diferentes tipos de loops com suas vantagens
  6. Loops no PowerShell | Tipos e Benefícios

Categoria: