Introdução à declaração If em R

A instrução "if" em R é uma instrução condicional usada para testar uma (s) condição (s) ou gerar uma saída baseada em condição. Uma instrução if em R pode ser seguida por várias outras ifs e, finalmente, pela instrução else. Funciona sequencialmente, como, se uma condição é positiva se ela mesma, depois a outra se e a instrução else não serão executadas. Da mesma forma, se qualquer um dos outros ifs for executado, as instruções else if subseqüentes e a instrução else não serão executadas. O else será executado apenas se o if se e else ifs (se estiverem presentes) tiverem um teste negativo sobre a condição.

Sintaxe

A sintaxe da instrução if-else em R é a seguinte:

if (condition) (
statement_1 # This statement will execute if the condition is satisfied.
)
else (
statement_2 # This section will execute if the condition is not satisfied.
)

A sintaxe da instrução if-else if-else em R é a seguinte:

if (condition_1) (
statement_block_1 # This block will execute if condition 1 is met.
)
else if (condition_2) (
statement_block_2 # This block will execute if condition 2 is met.
)
else (
statement_block_3 # This block will execute if none of the conditions is met.
)

Diagrama de fluxo

Aqui está o diagrama de fluxo mencionado abaixo

Exemplos de declaração If em R

Compreendendo a declaração if em R através de exemplos

A instrução if em R pode ser usada em várias situações e funciona com vários tipos de dados. Vamos tentar implementá-lo para entender seu funcionamento, desde as situações básicas até as mais complexas. Vamos continuar a entender isso com mais detalhes.

Exemplo 1

Neste exemplo, verificaremos se um número é divisível por 21 ou não. Criaremos uma função que testa essa condição de divisão usando a instrução if-else. Em seguida, passaremos o número a ser testado na função.

A captura de tela a seguir mostra a função em R que incorpora if-else para validar um teste de divisibilidade para um número.

divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)

No código acima, um número passado para a função será primeiro validado contra uma condição na instrução if. Portanto, se o número dividido 21 retornar zero como restante, o código no bloco if será impresso como saída, caso contrário, será executado.

Passar números diferentes na função acima fornece resultados como mostrado abaixo:

Exemplo 2

No segundo exemplo, estenderemos o loop if-else para a instrução if-else if-else. Aqui, pretendemos verificar se um número é divisível por 7 e 9, apenas por 7, mas não por 9, apenas por 9, mas não por 7, ou por nenhum dos dois números. Se alguma condição for atendida, o bloco de código correspondente será executado. Pode haver várias instruções else-if. Como mencionado anteriormente, o bloco de código no else é executado apenas quando nenhuma condição é atendida. As instruções de saída nos blocos correspondentes devem transmitir o significado corretamente.

divide.function <- function(x) (
if (x %% 7 == 0 && x %% 9 == 0)
(
print("The number is divisible by both 7 and 9.")
)
else if (x %% 7 == 0) (
print("The number is divisible by 7 but not by 9.")
)
else if (x %% 9 == 0) (
print("The number is divisible by 9 but not by 7.")
)
else (
print("The number is divisible neither by 7 nor by 9.")
)
)

Passar números diferentes na função definida usando o código acima gera uma saída, como mostrado na captura de tela abaixo.

Passar números diferentes na função definida pelo usuário divide.function () fornece o resultado como acima. Aqui, quatro tipos de números são possíveis; em primeiro lugar os divisíveis por 7 e 9, como 63 e 126, em segundo os divisíveis por 7, mas não por 9, como 14 e 35; em terceiro, os divisíveis por 9, mas não por 7, como 18 e 36, e finalmente os que são divisíveis por nenhum dos dois inteiros, isto é, 7 e 9. A condição final forma a parte da declaração else como, todas as outras condições possíveis são verificadas, no if e else ifs anteriores.

Exemplo 3

Neste exemplo, verificaremos se um número é um número primo ou não. Qualquer número, que é divisível apenas por ele e um, é chamado número primo. No entanto, deve-se notar que 1 não é um número primo, pois não satisfaz a condição de um número ser primo, porque, no caso de 1, ambos os números, isto é, ele próprio e 1, são iguais. Além disso, e se um usuário passar um número negativo para a função para verificar se é primo ou não? Portanto, todas as condições acima terão que ser levadas em consideração durante a implementação da função. Vamos ver como a função se parece quando é implementada, como mostrado abaixo.

primecheck.function <- function(x) (
flag <- 1
if (x <= 0)
(
print("Number must be greater than zero.")
)
else if (x == 1)
(
print("1 is not a prime number.")
)
else
(
for (i in 3:x-1)
(
if (x %% i == 0)
(
flag <- 0
)
)
if (flag == 0)
(
paste(x, "is not a prime number.")
)
else
(
paste(x, "is a prime number.")
)
)
)

  • A captura de tela acima mostra a função definida pelo usuário primecheck.function () em R. Como pode ser visto, o código usa aninhado if-else para realizar a tarefa. Vamos ver como o código funciona. A função primecheck.function () usa apenas um parâmetro. Inicialmente, a variável flag é definida como 1. Em seguida, a seção if-else se-else é iniciada. A instrução if verifica se o número é maior que zero ou não. Esta é uma condição muito importante e precisa ser a primeira condição.
  • Caso contrário, a mensagem apropriada será gerada pela função. Em seguida, o else-if verifica se o número é igual a 1 e informa ao usuário que 1 não é um número primo; o motivo foi apresentado na seção anterior. Se nenhuma das duas condições acima for atendida, o bloco de código na seção else será executado. De outra forma, agora, tentamos essencialmente verificar se o número é primo ou não através do loop for.
  • O loop for divide o número de 2 para número menos 1 intervalo pela variável de incremento e, nesse intervalo, se for dividido, o sinalizador será definido como zero, o que significa que o número não é um número primo. A instrução if-else fora do loop testa uma condição no sinalizador e gera uma saída apropriada.

A função funciona e fornece os resultados, conforme mostrado na captura de tela abaixo.

Conclusão

Na programação R, a instrução if-else ou if-else if-else pode ser efetivamente usada para trabalhar com aspectos relacionados à condição. O script R pode não facilitar a implementação de instruções if da mesma maneira que outras linguagens de programação oferecem. No entanto, o if-else pode ser perfeitamente incorporado às funções para obter todos os resultados possíveis.

Artigos recomendados

Este é um guia para a instrução If em R. Aqui discutimos a instrução if-else ou if-else if-else, que pode ser efetivamente usada para trabalhar com aspectos relacionados à condição. Você também pode consultar os seguintes artigos para saber mais -

  1. O que é a linguagem de programação R?
  2. Pacotes R
  3. Tipos de dados R
  4. Instrução If-else em C
  5. Declaração IF-Else no Matlab

Categoria: