foreach với biến và package
Tốc độ một quần thể tăng lên được gọi là tốc độ tăng trưởng (growth rate), biểu diễn theo phần trăm. Hầu như mọi quốc gia đều đang chứng kiến mức giảm trong tốc độ tăng trưởng, nhưng một số giảm nhanh hơn những nước khác.
Bạn được tuyển làm Chuyên viên nhân khẩu học, và nhiệm vụ của bạn là tính tỷ lệ giữa tốc độ tăng dân số của một quốc gia so với tốc độ tăng dân số toàn cầu cho các năm từ 2017 đến 2021. Bạn được cung cấp một danh sách các data frame, ls_df, mỗi phần tử là một data frame như sau:
country year growth_rate
Afghanistan 2017 2.52
...
Bạn cũng có một data frame về tăng trưởng toàn cầu, df_global:
year global_growth
2017 1.15
...
foreach và dplyr đã được nạp sẵn cho bạn. Cụm (cluster) đã được tạo và đăng ký với backend của foreach.
Bài tập này là một phần của khóa học
Lập trình song song trong R
Hướng dẫn bài tập
- Xuất
df_globallên cluster trong lời gọi hàmforeach(). - Chỉ định package
dplyrcần cho phép tính. - Chỉ định
rbindlàm phương thức gộp (combine). - Sử dụng toán tử song song.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
df_comp <- foreach(df = ls_df,
# Export variable
___,
# Specify any package needed
___,
# Specify a combine method
___
# Use the parallel operator
) ___ {
df %>%
left_join(df_global, "year") %>%
mutate(comp = growth_rate/global_growth)
}
stopCluster(cl)