我有一组调查数据,我想生成特定变量的曲线图,由受访者的国家分组。我已写入到生成到目前为止的曲线中的代码是:

countries <- isplit(drones, drones$v3)
foreach(country = countries) %dopar% {
  png(file = paste(output.exp, "/Histogram of Job Satisfaction in ", country$key[[1]], ".png", sep = ""))
  country.df <- data.frame(country)  #ggplot2 doesn't appreciate the lists nextElem() produces
  ggplot(country.df, aes(x = value.v51)) + geom_histogram()
  dev.off()
}

在真正奇怪的事情吗?我可以运行isplit(),设置country <- nextElem(countries),然后通过代码不发送的foreach线运行 - 并获得一个可爱的情节。如果我发送的foreach,我得到一些空白.png文件。

在此先感谢您的帮助。

我可以肯定地与标准的R循环做到这一点,但我真的很想得到foreach一个更好的把握。

有帮助吗?

解决方案

您需要,如果你想让它显示给print情节:

print(ggplot(country.df, aes(x = value.v51)) + geom_histogram())

默认情况下,ggplot命令返回一个情节的对象,但该命令本身实际上并不显示的情节;与该print命令来完成。请注意,当你交互式运行代码,命令的结果帮我印这就是为什么你常常不需要明确的打印。但在foreach包装时,你需要明确,因为打印的命令在体内的结果将不会回显。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top