futures로 사회과학 연구 지원하기
당신은 자선 재단에서 일하고 있어요. 이 재단은 각 국가에서 사회과학 연구 등급이 상위 1% 안에 드는 대학에 연구비를 지원해요. 따라서 매년 연구 등급의 커트오프 값을 계산해야 해요.
워크스페이스에는 rating_list가 있으며, 각 원소에는 한 국가의 대학 연구 등급이 들어 있어요. 또한 generate_cutoff_future() 함수도 사용할 수 있어요. 이 함수는 커트오프 값을 계산하는 future를 만들어 줘요. 하지만 당신의 매니저는 futures가 다른 병렬화 방식보다 어떤 이점이 있는지 확신하지 못하고 있어요. 실제 코드를 바꾸지 않고도 futures가 순차 실행과 병렬 실행을 모두 가능하게 한다는 점을 보여 주세요. future 패키지는 이미 로드되어 있어요.
이 연습은 강의의 일부입니다
R의 병렬 프로그래밍
연습 안내
- 순차 계획에서
lapply()를 사용해rating_list에generate_cutoff_future()를 적용하여 순차 future를 생성하세요. - 순차 future의 값을 추출하세요.
- 병렬 계획에서 병렬 future를 생성하세요.
- 병렬 future의 값을 추출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
plan(sequential)
# Create futures under sequential plan
seq_futures <- ___(___, ___)
# Extract values of sequential futures
seq_values <- ___(___)
plan(multisession, workers = 4)
# Create futures under multisession plan
par_futures <- ___(___, ___)
# Extract values of parallel futures
par_values <- ___(___)
plan(sequential)
cbind(seq_values, par_values)