调试相关性
您在美国卫生部工作。您的团队正在研究多胎妊娠(双胞胎、三胞胎等)是否与孕期体重增加更多相关。您已经计算了相关性,但结果与另一位分析师的估计差异很大。她指出,您的数据没有记录超过 99 磅的体重增加值。您决定重新计算,这一次希望记录体重增加的最大值。
在您的工作区中,有一个数据框列表 ls_df。ls_df 的每个元素都包含每个州的出生数据。您已经编写了一个 foreach 循环来并行运行计算。
已为您加载 foreach 和 doParallel。
本练习是课程的一部分
R 并行编程
练习说明
- 创建一个包含 4 个内核的集群。
- 指定一个名为
state_log.txt的文件,用于记录来自集群的消息。 - 在循环体内,记录数据框
df中weight_gain_pounds列的最大值。 - 读取
state_log.txt来检查打印的消息。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a cluster of four cores
cl <- ___(___,
# Specify a file to log print statements
___ = "___")
registerDoParallel(cl)
res <- foreach(df = ls_df) %dopar% {
print(paste(unique(df$state), ":",
# Calculate maximum of weight_gain_pounds in df
___(___)))
cor(df$plurality, df$weight_gain_pounds)
}
stopCluster(cl)
# Read log file to check print messages
read.delim("___", sep = ";")