我的目标是创建一个循环,循环遍历几个变量,并在将它们保存到pdf文件之前为每个变量绘制一个图形。每个页面都需要有一个图表,一个页面需要将所有页面放在同一个图表中。
我的变数是: y1,y2,y3和y4。它们存储在 yieldcurves< -c(y1,y2,y3,y4)中。 变量都有日期和值,如下所示:
日期:2018-04-26 last_price: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()
不幸的是,这不起作用。你知道我做错了什么吗?非常感谢!