3

我正在循环中对许多数据集进行线性拟合,并将结果绘制在 pdf 文件中。是否可以直接将summary(fit)的输出保存在同一个pdf文件中,而不是通过控制台观察大约100个数据集的摘要?

  LMmodel <- y ~ x
  fit <- lm(LMmodel, data = Dataset)

  pdf(file = OutputFile, width = 10, height = 6, paper = "a4r")

  xLim = range(x)
  yLim = range(y)

  plot(x, y, type = "p", xlim = xLim, ylim = yLim,
       main = plotTitle, xlab = "x [m]", ylab = "y [dB]",
       pch = 20, cex = .9)
  regLine(fit, col=palette()[2], lwd=2, lty=1)
  grid(lwd = 1.5)

  plot(density(residuals(fit)), main = "Density Plot of the Residuals"))

  dev.off()
  graphics.off()
  return(summary(fit))
4

1 回答 1

5

我真的推荐KnitrRstudio来生成报告。

在这里,我使用您的代码通过 3 个简单的步骤生成 pdf。我假设你已经安装了 Rstudio。

  1. 我创建了一个新的 R sweave 文件(使用菜单)

  2. 我在哪里插入 2 个块(使用右侧的

    <<myplot,echo=FALSE,fig=TRUE>>=
    library(car)
    x <- rnorm(n=20,mean=30,sd=20)
    y <- rnorm(n=20,mean=180,sd=10)
    Dataset <- data.frame(x=x,y=y)
    LMmodel <- y ~ x
    fit <- lm(LMmodel, data = Dataset)
    xLim = range(x)
    yLim = range(y)
    plot(x, y, type = "p", xlim = xLim, ylim = yLim,
        main = "plotTitle", xlab = "x [m]", ylab = "y [dB]",
        pch = 20, cex = .9)
    regLine(fit, col=palette()[2], lwd=2, lty=1)
    grid(lwd = 1.5)
    plot(density(residuals(fit)), main = "Density Plot of the Residuals")
    @
    

总结是:

    <<mysummary>>=
    print(summary(fit))
    @
  1. 您可以使用编译 PDF按钮生成一个 pdf 文件。

您可以在摘要和图表之间插入您想要的内容以构建复杂的报告。

于 2013-01-07T12:41:04.277 回答