首页 > 解决方案 > 循环遍历变量,绘制它们并创建 pdf

问题描述

我的目标是创建一个循环,该循环遍历多个变量并为每个变量绘制图表,然后将它们保存到 pdf 文件。每个页面都需要有一个图表,一个页面需要将所有这些都放在同一个图表中。

我的变量是:y1、y2、y3 和 y4。它们存储在yieldcurves <-c(y1, y2, y3, y4)中。这些变量都有一个日期和一个值,如下所示:

日期:2018-04-26 最后价格:2.8310

此外,我使用“reshape”将数据帧转换为长数据。

yieldcurves.long<-reshape(yieldcurves,
    varying = c("y1", "y2","y3", "y4"), 
    direction = "long", idvar = "caseid", sep = "_", timevar = "maturity")
names(yieldcurves.long) <-c("date", "maturity", "yield", "subject")

现在我想创建循环。我试过下面的代码:

pdf("yieldcurves", onefile = TRUE)
nr_yc <-length(unique(yieldcurves.long$maturity))
yc<-list(unique(yieldcurves.long$maturity))

for (i in 1:yc){
  Dataplot<-subset(yieldcurves.long, yieldcurves.long$maturity==nr_yc[[1]][i])
  myplot<-ggplot(Dataplot) + geom_line(aes(x=yieldcurves.long$date,
    y= yieldcurves.long$yield))+ 
    labs(x ="Year", y = "Yield (%)")
 grid.arrange(myplot)
}
dev.off()

不幸的是,这不起作用。你知道我做错了什么吗?非常感谢!

标签: rloopsggplot2

解决方案


推荐阅读