Blog

Postado em em 30 de janeiro de 2023

Condicionais e Estruturas de Repetição em R – Linguagem R

Como trabalhar com lista, condicionais e estruturas de repetição em R? Aprenda hoje! Vamos demonstrar passo a passo cada estrutura!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar as condicionais e estruturas de repetição em R para que você já consiga criar uma lógica nos seus códigos e já criar suas primeiras análises!

Para as condicionais em R nós vamos ver o IF e ELSE e várias condições usando o ELSE IF, que seria a junção dessas duas condições para criar inúmeras condições caso precise.

Além disso, vamos ver como colocar uma condição dentro de outra, caso você precise de mais de uma condição para uma determinada situação (no exemplo deixamos isso mais claro).

Vou te mostrar como acessar elementos em R, assim você consegue acessar os elementos de uma lista sem problemas e consegue utilizar as estruturas de repetição de forma eficiente.

Estrutura de repetição

Vou te mostrar tanto a estrutura de repetição FOR quanto a estrutura de repetição WHILE, só que você precisa tomar cuidado para não criar um loop infinito!

E para finalizar vou te mostrar como criar uma sequência em R para facilitar na hora de utilizar as estruturas de repetição.

Nesta aula, vamos partir do R já instalado, porque fizemos a instalação na última aula, caso você não tenha visto, clique no link!

E então? Vamos para a prática?

Condicionais e Estruturas de Repetição em R:

Primeiro vamos começar a falar sobre condição, tudo na nossa vida é condição:

Vamos à praia se estiver sol, vamos viajar se não houver muito trânsito, podemos comprar se o valor estiver dentro do orçamento, etc.

As condições são indispensáveis, tanto no dia a dia quanto em projetos, dito isso, vamos falar e dar exemplos práticos sobre como funciona a condição em R:

Observe que no nosso material temos uma lista, no nosso primeiro bloco de R.

Listas
Listas

Nosso objetivo é utilizar essas listas para fazer análises, saber se o aluno está aprovado, por exemplo.

Para isso, vamos precisar estabelecer critérios como:

  • A partir de que nota o aluno está aprovado?
  • Qual nota o deixa de recuperação ou reprovado?
  • Vai haver prova final?

Após estabelecer os critérios, nosso programa tem que entender que vamos ter uma condição para executar a ação, vamos depender do critério ser verdadeiro para executá-la, por exemplo:

Se (if)

Vamos supor que o aluno tirou a nota 7,5 e o mínimo é 7,0 para aprovação. Neste caso o resultado é verdadeiro (true), ele tirou mais do que 7, neste caso o resultado será “Aprovado”!

Caso contrário (else)

Se o aluno tirou 5, então o resultado da comparação -> 5>=7 vai resultar em falso (false), então o resultado será “Reprovado ou Recuperação” dependendo dos critérios criados.

Podemos colocar mais de uma condição no If, para isso, antes do else vamos usar o else if.

Exemplo prático:

O primeiro passo é executar todas as nossas listas, relembrando que para isso basta selecionar todas elas e clicar em -> RUN.

Run
Run

Após executar os códigos eles passam a aparecer nos outros blocos de R divididos entre variáveis e resultado como vimos na aula passada.

As listas (variáveis) aparecem no bloco superior à direita, clicando sobre elas, podemos ver item por item.

Importante!

No R nossa lista começa a contar a partir do 1 não do 0 como no Python!

Como acessar um item da lista?

Para acessar vamos colocar no primeiro bloco o nome da lista e entre colchetes [], passar o índice (posição) do item que queremos acessar.

Notas[3] = 8 (Nota da Glaucia)

Agora precisamos que o código verifique se esta nota é maior que 5:

Notas[3] >= 5 (True)

Montando a nossa condição em R:

If (Notas[3] >= 5){

  Print(“Aprovado”)

}

Mas, e ser a nota fosse menor que 5?

If (Notas[2] >= 5){

  Print(“Aprovado”)

} else {

  Print(“Reprovado”)

}

E se determinarmos que o aluno que tirar mais que 3 e menos que 5 poderá fazer a prova de recuperação?

If (Notas[2] >= 5){

  Print(“Aprovado”)

} else if (notas[2] >= 3) {

  Print(“Prova final”)

} else {

  Print(“Reprovado”)

}

Agora, vamos deixar mais próximo da realidade, porque os alunos não são aprovados somente por nota, temos que levar em consideração as faltas também!

Para isso valor colocar um if dentro de if, isso mesmo, observe!

IF

If (Notas[2] >= 5){

   If (Presenca[2] >= 70){

       Print(“Aprovado”)

   } else {

      Print(“Reprovado por falta”)

   }

} else if (notas[2] >= 3) {

  Print(“Prova final”)

} else {

  Print(“Reprovado”)

}

Dessa forma ambas as condições, nota e falta serão verificadas.

Como verificar todas as notas de forma automática!

Perceba que estamos verificando a nota de 1 aluno, se quisermos verificar outro, teríamos que trocar o número de todos os colchetes, à medida que nosso código for ficando maior, fazer essas trocas vai aumentar muito a chance de erro, além de se tornar impraticável.

Existe um modo mais simples de fazer isso!

Para isso, vamos criar uma variável que vai receber o índice do aluno:

Variável -> i = 5

If (Notas[i] >= 5){

   If (Presenca[i] >= 70){

       Print(“Aprovado”)

   } else {

      Print(“Reprovado por falta”)

   }

} else if (notas[i] >= 3) {

  Print(“Prova final”)

} else {

  Print(“Reprovado”)

}

Dentro de todos os colchetes trocamos o valor pela variável [i], então, trocando somente o valor da variável, todos os colchetes serão trocados automaticamente.

Esta lógica será igualmente importante quando começarmos a trabalhar com laços.

Os laços servem para que este trabalho manual de mudar o índice seja ainda mais facilitado, afinal, mesmo sendo mais fácil modificar apenas o valor da variável ainda, sim, em uma lista com 200 alunos fica inviável.

Loop de repetição WHILE

O While permite executar a ação constantemente enquanto a condição for verdadeira, exemplo:

Enquanto o valor de da variável i for menor que o tamanho da nossa base, vamos imprimir os “alunos da posição i”.

i = 1

While (i <= length(alunos)){

    Print(aluno[i])

}

Importante!

Quando estamos fazendo um loop devemos sempre indicar ao programa quando parar o loop, para não criarmos um loop infinito e travar o código.

Neste exemplo observe que o código vai rodar conforme o tamanho (length) da nossa lista.

Se não colocarmos condição nenhuma o índice sempre daria 1, o código iria se repetir infinitamente, por este motivo, temos que, a cada vez que o código rodar incrementar o i de alguma forma.

Faremos isso não só para analisar todos os valores (neste caso alunos), mas também para definir quando o programa deve encerrar.

Agora temos as duas partes importantes do nosso código, a parte que faz a análise de cada nota e a parte que faz o código rodar do começo ao fim da lista (length) automaticamente.

Só temos que juntar as duas partes!

i = 1

While (i <= length(alunos)){

   If (Notas[i] >= 5) {

       If (Presenca[i] >= 70){

          Print(“Aprovado”)

       } else {

         Print(“Reprovado por falta”)

       }

   } else if (notas[i] >= 3) {

     Print(“Prova final”)

   } else {

     Print(“Reprovado”)

  }

  i = i + 1

}

Também podemos salvar em uma lista os resultados usando o append, assim teremos a lista com os resultados para consultar o status de cada aluno depois.

A cada resultado gerado o append vai armazenar na variável que neste caso, chamamos de situação, então nós deixamos de printar o resultado e no lugar disto, substituímos o print pelo append.

Após rodar o código a variável situação vai aparecer no lado superior direito do ambiente de R, e clicando lá, todos os resultados podem ser consultados.

Alterando o código – Ambiente R:

Vamos comparar a diferença de estrutura do código quando trocamos o print pelo append.

A imagem abaixo mostra o que foi alterado dentro do código:

Alterando o código
Alterando o código

Variável situação criada:

Condicionais e Estruturas de Repetição em R
Nova variável

Loop de repetição FOR

O for é um loop de repetição semelhante ao While, temos que ter nele o mesmo cuidado de não gerar um loop infinito.

Neste caso estamos indicando ao código que queremos os itens (i) in alunos, ou seja, na lista alunos, queremos todos os nomes que estão contidos.

Condicionais e Estruturas de Repetição em R
FOR

Após rodar o código vamos ter a nossa lista de nomes.

Se quiséssemos somente as notas, poderíamos usar o for somente para isso, mas queremos usar o FOR para validar nota e faltas como fizemos com o While.

Para isso vamos fazer o for em uma lista de dados de 1 até 7, assim, indicamos quantas vezes ele deve rodar e não caímos no loop infinito, funciona como o length usado no While, de 1 a 7 é a quantidade de alunos que temos na lista para analisar.

Condicionais e Estruturas de Repetição em R
Quantidade de vezes que vamos rodar o código

Após, vamos juntar o FOR e o IF -> selecione todo o código -> Run.

Condicionais e Estruturas de Repetição em R
Somando FOR + IF

Observe que o resultado será o mesmo do While.

Resultado
Resultado

Conclusão – Condicionais e Estruturas de Repetição em R

Nesta aula mostramos um passo a passo de como analisar dentro do programa R usando lista, estrutura condicional e loops de repetição.

Esta aula faz parte de uma sequência que estamos disponibilizando para nossos alunos aprenderem a programar em R.

Se você não viu a primeira aula, não se preocupe, o link está logo no começo do texto, acompanhe as aulas na sequência correta para aproveitar ao máximo o conteúdo!

Eu fico por aqui! Até a próxima!

Hashtag Treinamentos

Para acessar outras publicações de Ciência de Dados, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer ter acesso a um Minicurso de Finanças no Excel de forma 100% gratuita? Preencha seu e-mail abaixo!