반복(iteration) 소개
유사한 구조를 가진 수백 개의 파일을 읽어 들여 동일한 작업을 해야 한다고 상상해 보세요. 모든 파일을 읽거나 작업을 수행하기 위해 반복적인 코드를 수백 줄이나 쓰고 싶지는 않을 거예요. 대신 그 위에서 반복(iterate) 하길 원할 것입니다. 반복은 동일한 처리를 여러 입력에 적용하는 과정을 말합니다. 반복을 잘 활용하면 코드 효율이 높아지고, 특히 리스트를 다룰 때 강력합니다.
이 연습 문제에서는 16개의 CSV 파일 이름이 files라는 리스트에 담겨 있습니다. 실제 업무에서는 list.files() 함수를 사용해 이런 리스트를 만들 수 있습니다. readr 라이브러리도 이미 불러와져 있습니다.
이 강의에서는 잊었을 수 있는 개념도 많이 다루니, 빠르게 복습이 필요할 때는 tidyverse Cheat Sheet를 내려받아 옆에 두고 활용해 보세요!
이 연습은 강의의 일부입니다
purrr로 배우는 함수형 프로그래밍 기초
연습 안내
files리스트를 순회하는 for 루프를 만들고, 각 원소를readr::read_csv()의 입력으로 사용하세요. 이는readr패키지의read_csv()함수를 호출한다는 뜻입니다.- 그런 입력을 사용해서, 각 CSV 파일이 새로 만든
all_files리스트의 개별 원소로 읽혀 들어가도록 결과를 만드세요. all_files리스트의 크기를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Initialize list
all_files <- list()
# For loop to read files into a list
for(i in seq_along(files)){
___[[___]] <- read_csv(file = ___[[___]])
}
# Output size of list object
length(___)