我有一个随时间推移(波动)包含国家/地区的数据集,其结构如下:
country wave income
1 1 1000
1 2 1400
1 3 900
.. .. ..
1 8 40000
2 1 3000
2 2 5432
以此类推,适用于15个国家和8个国家/地区。我想运行foreach国家,并且foreach对家庭总净收入进行qqplot绘制,以便首先检测右尾部的Pareto分布,然后保存该图。我尝试使用以下
列出国家和地区countries<-unique(final_echp$country)
waves<-unique(final_echp$wave)
然后使用foreach包运行:
foreach(c=countries)
foreach(w=waves) %do% {
qqnorm(final_echp$hi100_eur)
qqline(final_echp$hi100_eur)
}
但是它崩溃了,从某种意义上说,运行了几分钟都没有任何结果,我必须打破它。我该如何循环并保存带有相应国家(地区)标题的地块?
谢谢
答案 0 :(得分:0)
据我了解,您想为多个国家/地区绘制参数并保存图以供以后检查。为什么不将它们保存为PDF?让我告诉你如何做。我将使用ggplot2
:
library(ggplot2)
library(dplyr)
df <- data.frame(country = c(rep('USA',20), rep('Canada',20), rep('Mexico',20)),
wave = c(1:20, 1:20, 1:20),
par = c(1:20 + 5*runif(20), 21:40 + 10*runif(20), 1:20 + 15*runif(20)))
countries <- unique(df$country)
plot_list <- list()
i <- 1
for (c in countries){
pl <- ggplot(data = df %>% filter(country == c)) +
geom_point(aes(wave, par), size = 3, color = 'red') +
labs(title = as.character(c), x = 'wave', y = 'value') +
theme_bw(base_size = 16)
plot_list[[i]] <- pl
i <- i + 1
}
pdf('path/to/pdf')
pdf.options(width = 9, height = 7)
for (i in 1:length(plot_list)){
print(plot_list[[i]])
}
dev.off()
生成的pdf可在path/to/pdf
上找到。