题
我有一组调查数据,我想生成特定变量的曲线图,由受访者的国家分组。我已写入到生成到目前为止的曲线中的代码是:
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
包装时,你需要明确,因为打印的命令在体内的结果将不会回显。
不隶属于 StackOverflow