r - 在R中循环操作下绘制图形

标签 r loops graphics

下面的脚本运行并绘制数据系列的贝叶斯变化点 (bcp),其中 6 列数据在此处引用为 x <-13:18,即数据文件 2GB01.csv 中的第 13 列到第 18 列。问题是仅绘制了第 18 列的输出图。我需要修改脚本,以便在一个图形窗口分区中为每一列数据集绘制 6 个图形。 有什么帮助吗?

数据文件看起来像这样...... col1 col2 ....col13 col14 col15 col16 col17 col18 11 14 17 87 90 10 20 76 23 87 87 16 09 17 87 65 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 .

脚本如下所示......

在此处输入代码

  data2<-read.csv("2GB01.csv", header=TRUE, row.names=1)

    x <- 13:18
    for(i in seq(along=x)){
        ond<-data2[,i]
        bcp.1<-bcp(as.vector(ond))
    if (require("strucchange")) {
    bp <- breakpoints(ond ~ 1, h = 2)$breakpoints
    rho <- rep(0, length(ond))
    rho[bp] <- 1
    b.num<-1 + c(0,cumsum(rho[1:(length(rho)-1)]))
    bp.mean <- unlist(lapply(split(ond,b.num),mean))
    bp.ri <- rep(0,length(ond))


    for (i in 1:length(bp.ri)) bp.ri[i] <- bp.mean[b.num[i]]
        xax<-seq(1960, 2010, length=51)
        op <- par(mfrow=c(2,1),col.lab="black",col.main="black")
        op2 <- par(mar=c(0,4,4,4.5),xaxt="n",yaxt="n", cex.axis=0.75,las=2)
        plot(xax, ond, col="grey", pch=20, xlab="",ylab="", axes=T)
        lines(xax, bcp.1$posterior.mean, lwd=2)
        axis(4, yaxt="s")
        mtext('Posterior mean', las=0, side=4, line=3.5)
        lines(bp.ri, col="blue")
        par(op2)
        op3 <- par(mar=c(5,4,0,4.5), xaxt="s",yaxt="n", cex.axis=0.75,las=2)
plot(xax, bcp.1$posterior.prob, xlab="Year", ylab="Posterior   probability",     type="l", xlim=c(1960,2010), ylim=c(0,1),las=0)
    for (i in 1:length(bp.ri)) abline(v=xax[bp[i]], col="blue")
        axis(2, yaxt="s")
        par(op3)
        par(op)


} else {
  cat("strucchange is not loaded")
}}

最佳答案

将其移至循环外部:

op <- par(mfrow=c(2,1),col.lab="black",col.main="black")

如果您每次调用它,它每次都会设置绘图网格(例如清除它)。

您需要执行类似 mfrow=c(2,length(rp.ri)) 的操作。

关于r - 在R中循环操作下绘制图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13891667/

相关文章:

r - 由于feather安装包 "rio"

php - 连接 R 和 PHP

r - R中按组划分的spearman相关性

loops - Smalltalk - 每 2 秒打印一些内容

java - 为什么 Java Graphics2D 'drawString' 停止 repaint()?

graphics - 基本R图形的改进

r - 无法安装 R ggmap 包 : compilation failed for package ‘jpeg’

C++ - 循环效率 : Storing temporarly values of a class member Vs pointer to this member

c - 打印数组大小时如何修复空白输出

iphone - 在与中心点成给定角度的直线相交的 UIView 矩形上找到 CGPoint