벡터 요소 반복하기
Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 63번째.
R의 벡터화 연산은 강력하지만, 때로는 사용자 정의 로직을 사용하여 각 요소를 개별적으로 처리해야 할 때가 있습니다. for 루프를 사용하면 벡터 요소를 한 번에 하나씩 반복할 수 있습니다.
벡터를 루프하는 가장 간단한 방법은 해당 요소들을 직접 반복하는 것입니다:
fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
print(fruit)
}출력:
[1] "apple"
[1] "banana"
[1] "cherry"각 반복에서 루프 변수 fruit는 벡터의 다음 요소 값을 가집니다. 이 방식은 값 자체만 필요할 때 깔끔하고 가독성이 좋습니다.
반복문과 조건부 로직을 결합하여 요소를 선택적으로 처리할 수 있습니다:
numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
if (num > 5) {
print(num)
}
}출력:
[1] 8
[1] 10이 패턴은 각 요소의 값에 따라 서로 다른 연산을 적용해야 할 때 유용하며, 이는 벡터화된 연산만으로는 항상 처리할 수 없는 부분입니다.
챌린지
쉬움두 줄의 입력을 받게 됩니다:
- 쉼표로 구분된 숫자 목록 (예:
12,5,18,3,25,8,14) - 임계값 (예:
10)
for 루프를 사용하여 벡터 요소를 반복합니다:
- 쉼표로 구분된 숫자들로부터 벡터를 생성합니다
- 벡터의 각 요소를 루프를 통해 확인합니다
- 임계값보다 크거나 같은 각 요소에 대해,
print()를 사용하여 해당 요소를 출력합니다
예를 들어, 입력값이 다음과 같다면:
4,15,8,22,6,19,11
10출력은 다음과 같아야 합니다:
[1] 15
[1] 22
[1] 19
[1] 11설명: 루프는 각 요소를 임계값(10)과 비교합니다. 요소 15, 22, 19, 11은 모두 10보다 크거나 같으므로 출력됩니다. 요소 4, 8, 6은 건너뜁니다.
치트 시트
for 루프를 사용하면 벡터 요소를 하나씩 반복하면서 각 요소에 사용자 정의 로직을 적용할 수 있습니다.
벡터를 반복 처리하기 위한 기본 구문:
fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
print(fruit)
}각 반복에서 루프 변수는 벡터의 다음 요소 값을 가집니다.
요소를 선택적으로 처리하기 위해 루프와 조건부 로직 결합하기:
numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
if (num > 5) {
print(num)
}
}이 패턴은 각 요소의 값에 따라 서로 다른 연산을 적용해야 할 때 유용합니다.
직접 해보기
# 입력 읽기
con <- file("stdin", "r")
numbers_input <- suppressWarnings(readLines(con, n = 1))
threshold <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# 쉼표로 구분된 문자열을 숫자 벡터로 변환
numbers <- as.numeric(unlist(strsplit(numbers_input, ",")))
# TODO: 아래에 코드를 작성하세요
# for 루프를 사용하여 numbers 벡터를 반복하세요
# 각 요소가 threshold보다 크거나 같으면 print()를 사용하여 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.