Menu
Coddy logo textTech

Iterando sobre Elementos de Vetores

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

Embora as operações vetorizadas do R sejam poderosas, às vezes você precisa processar cada elemento individualmente com uma lógica personalizada. Um loop for permite que você itere pelos elementos de um vetor um de cada vez.

A maneira mais simples de percorrer um vetor é iterar diretamente sobre seus elementos:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

Saída:

[1] "apple"
[1] "banana"
[1] "cherry"

Em cada iteração, a variável de loop fruit assume o valor do próximo elemento no vetor. Esta abordagem é limpa e legível quando você precisa apenas dos próprios valores.

Você pode combinar a iteração com a lógica condicional para processar elementos seletivamente:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

Saída:

[1] 8
[1] 10

Este padrão é útil quando você precisa aplicar operações diferentes com base no valor de cada elemento, algo que operações vetorizadas sozinhas nem sempre conseguem lidar.

challenge icon

Desafio

Fácil

Você receberá duas linhas de entrada:

  1. Uma lista de números separados por vírgula (ex: 12,5,18,3,25,8,14)
  2. Um valor de limite (threshold) (ex: 10)

Usando um loop for para iterar sobre os elementos do vetor:

  1. Crie um vetor a partir dos números separados por vírgula
  2. Percorra cada elemento no vetor
  3. Para cada elemento que for maior ou igual a o limite, imprima esse elemento usando print()

Por exemplo, se as entradas forem:

4,15,8,22,6,19,11
10

A saída deve ser:

[1] 15
[1] 22
[1] 19
[1] 11

Explicação: O loop verifica cada elemento em relação ao limite (10). Os elementos 15, 22, 19 e 11 são todos maiores ou iguais a 10, portanto, são impressos. Os elementos 4, 8 e 6 são ignorados.

Folha de consulta

Um loop for permite iterar pelos elementos de um vetor um de cada vez e aplicar uma lógica personalizada a cada elemento.

Sintaxe básica para percorrer um vetor com um loop:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

Em cada iteração, a variável do loop assume o valor do próximo elemento no vetor.

Combinando loops com lógica condicional para processar elementos seletivamente:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

Este padrão é útil quando você precisa aplicar diferentes operações com base no valor de cada elemento.

Experimente você mesmo

# Ler a entrada
con <- file("stdin", "r")
numbers_input <- suppressWarnings(readLines(con, n = 1))
threshold <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# Converter a string separada por vírgulas em um vetor numérico
numbers <- as.numeric(unlist(strsplit(numbers_input, ",")))

# TODO: Escreva seu código abaixo
# Use um loop for para iterar pelo vetor numbers
# Para cada elemento >= threshold, imprima-o usando print()
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