1. 학습
  2. /
  3. 강의
  4. /
  5. R의 병렬 프로그래밍

Connected

연습 문제

병렬 필터링

당신은 United Nations의 데이터 컨설턴트로 일하고 있으며, 전 세계 예술 전공 학생을 대상으로 설문을 진행하려고 합니다. 그들은 인문·예술 학과가 있는 대학교 데이터셋을 수집했고, 각 국가에서 상위 예술 대학을 선정해 설문 대상으로 삼기로 했습니다.

uni_list는 데이터 프레임의 리스트로, 각 원소가 한 국가의 데이터입니다. 각 데이터 프레임에는 total_score 열이 있습니다. 다음 함수를 사용할 수 있어요:

filter_df <- function (df, select_n_unis) {
  df %>% 
    top_n(select_n_unis, total_score)
}

이 함수는 dplyr이 필요합니다. select_n_unis 인수는 선택할 상위 대학 수를 지정합니다. 각 CSV 파일에서 상위 5개 대학만 병렬로 필터링하라는 요청을 받았습니다. parallel 패키지는 이미 로드되어 있어요.

지침

100 XP
  • 클러스터 cl의 각 코어에서 dplyr을 로드하세요.
  • 변수 n_unis를 클러스터 cl로 내보내세요.
  • parLapply()를 사용해 uni_list의 각 원소에 filter_df()를 적용하세요.
  • 선택할 대학 수 n_unis를 filter_df()의 올바른 인수에 전달하세요.