可复现的抽奖结果
您在一家在线彩票公司做程序员。根据法律规定,中奖者必须随机产生,而且选择过程需要透明可审计。
工作区中有一份彩票列表 ls_tickets。它包含 51 个元素,每个元素对应一个美国州。列表的每个元素都包含该州的彩票号码。工作区中还提供了一个函数 lottery(),用于为每个州随机选出中奖号码。您正在用 future_map() 并行地将 lottery() 应用于 ls_tickets,以测试该函数。问题在于,每次运行代码时中奖结果都会不同。已为您加载 furrr 包。
本练习是课程的一部分
R 并行编程
练习说明
- 为
future_map()创建一个配置。 - 在该配置中将随机种子设置为
4321。 - 将此配置传递给
future_map()。
交互式实操练习
通过完成这段示例代码来试试这个练习。
lottery <- function(tickets) {
sample(tickets, 1)
}
# Create a configuration for future_map()
config <- ___(
# Provide the seed 4321 to the correct argument
___ = ___)
plan(multisession, workers = 4)
winners <- future_map(ls_tickets, lottery,
# Supply configuration to future_map()
___ = ___)
plan(sequential)