Menu
Coddy logo textTech

Lógica Vetorizada Parte 1

Parte da seção Fundamentos do Journey de R da Coddy — lição 20 de 78.

O R possui duas versões dos operadores AND e OR. Você aprendeu sobre && e ||, que funcionam com valores únicos. Agora vamos explorar suas contrapartes vetorizadas: & e | (símbolos únicos).

A principal diferença é que & e | comparam valores elemento por elemento ao trabalhar com múltiplos valores:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

Cada posição é comparada independentemente. Na primeira posição, ambos a e b são TRUE, então a & b retorna TRUE. Na segunda posição, a é TRUE mas b é FALSE, então a & b retorna FALSE.

Isso se torna poderoso quando combinado com operadores de comparação:

scores <- c(85, 42, 91, 67, 55)

# Verificar quais pontuações estão entre 50 e 80
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

O resultado é um vetor de valores lógicos mostrando quais elementos atendem a ambas as condições. Este comportamento elemento a elemento (element-wise) é essencial para filtrar e analisar dados em R.

challenge icon

Desafio

Fácil

Use os operadores vetorizados AND (&) e OR (|) para realizar comparações elemento a elemento em vetores.

Você recebeu os seguintes vetores:

temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

Use operadores lógicos vetorizados para criar os seguintes vetores lógicos:

  1. Crie um vetor chamado comfortable_temp que armazene TRUE para cada temperatura que seja maior ou igual a 20 E menor ou igual a 30
  2. Crie um vetor chamado high_humidity que armazene TRUE para cada valor de umidade que seja maior que 70
  3. Crie um vetor chamado pleasant_day que armazene TRUE para cada dia onde a temperatura esteja entre 20 e 30 (inclusive) E a umidade seja menor ou igual a 60
  4. Crie um vetor chamado extreme_weather que armazene TRUE para cada dia onde a temperatura seja maior que 30 OU a umidade seja maior que 80
  5. Crie um vetor chamado stay_inside que armazene TRUE para cada dia onde a temperatura seja menor que 18 OU (a temperatura seja maior que 30 E a umidade seja maior que 70)

Use a função print() para exibir comfortable_temp, high_humidity, pleasant_day, extreme_weather e stay_inside exatamente nessa ordem.

Folha de consulta

O R possui duas versões dos operadores AND e OR:

  • && e || funcionam com valores únicos
  • & e | são operadores vetorizados que comparam valores elemento por elemento

Os operadores vetorizados & e | comparam cada posição de forma independente:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

Operadores vetorizados são poderosos quando combinados com operadores de comparação:

scores <- c(85, 42, 91, 67, 55)

# Verificar quais pontuações estão entre 50 e 80
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

O resultado é um vetor de valores lógicos mostrando quais elementos atendem às condições.

Experimente você mesmo

# Vetores fornecidos
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

# TODO: Escreva seu código abaixo
# 1. Crie comfortable_temp: TRUE quando temp >= 20 E temp <= 30

# 2. Crie high_humidity: TRUE quando humidity > 70

# 3. Crie pleasant_day: TRUE quando temp está entre 20-30 E humidity <= 60

# 4. Crie extreme_weather: TRUE quando temp > 30 OU humidity > 80

# 5. Crie stay_inside: TRUE quando temp < 18 OU (temp > 30 E humidity > 70)


# Imprimir os resultados
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos