如何在循环中的绘图标签中包含不同的标题和变量值

时间:2013-08-01 21:38:22

标签: r

我正在尝试创建具有不同参数值的多个图。当我提交以下代码时:


for(i in mars){
    for(j in 1:5){
        negRets <- -table1.matrix[,j]
        tauSigma <- gpd(negRets,threshold=i)
        tau <- tauSigma$par.ests[1]
        sigma <- tauSigma$par.ests[2]
        #cat("For ", reitPort[j], "portfolio and MAR=", i, "the parameter estimats are:", "\n")
        #cat("Tau= ", tau, "Sigma= ", sigma, "\n")
        exceedence.vector <- sort(subset(negRets, negRets > i))
        returns.sorted <- sort(negRets)
        pdf(paste("C:\\Users\\John Broussard\\Dropbox\\evtHandbookProject\\figuresTables\\mar_",i,"_",reitPort[j],".pdf",sep=""))
            plot(returns.sorted, dgpd(returns.sorted, xi = tau, beta = sigma), type ="l", col="blue", ylim=c(0,90))
            title(main=cat("Tau= ", tau, " Sigma= ", sigma), ylab=" ")
        dev.off()
        #print(j)
        #print(i)
    }
}

图表被写入文件,但没有标题,y轴标签包含“xi = tau”,而不是绘图代码中提交的xi的值。

如何获取标题以及用于将图表合并到各个文件中的参数值?

1 个答案:

答案 0 :(得分:1)

您正在寻找paste()功能而不是cat()功能。 cat()函数输出一个对象,而paste()转换为一个字符后连接一个向量。

plot(returns.sorted, dgpd(returns.sorted, xi = tau, beta = sigma), 
    type ="l", col="blue", ylim=c(0,90),
    main = paste("Tau= ", tau, " Sigma= ", sigma), ylab=" ")

如果您想要希腊字母,请参阅this问题或this问题。