1

我正在尝试使用可选参数在 R 中创建一个用户定义的函数,以将绘图保存为 pdf。我有默认为 FALSE 的必需参数。如果为 TRUE,则使用 filename.pdf 保存为 pdf。我是否有一些语法错误:

seeplot <-function (save=FALSE) {
x <- seq(1,10,1)
y <- x^2
plot (x,y,type="l")
if (save==TRUE) pdf(file="save")
}

谢谢。

4

1 回答 1

9

我认为?pdf你遇到麻烦是因为没有仔细阅读。我会让你有点挣扎(因为挣扎很好,射击我经常和 R 战斗)但我认为逻辑保存方法可能不是最好的,所以我会插话。这是我看到的 3 个错误:

  1. 你打电话给 pdf 但在那之后再也没有绘图
  2. 你从不说dev.off
  3. pdf没有文件扩展名

这是您修复的功能:

seeplot <-function (save=FALSE) {
    x <- seq(1,10,1)
    y <- x^2
    plot (x,y,type="l")
    if (save) {
        pdf(file="save.pdf")
        plot (x,y,type="l")
        dev.off()
    }
}

但是我可以建议提供文件名而不是逻辑保存。这允许用户随意命名文件:

seeplot <-function (file=NULL) {
    x <- seq(1,10,1)
    y <- x^2
    plot (x,y,type="l")
    if (!is.null(file)) {
        pdf(file=file)
        plot (x,y,type="l")
        dev.off()
    }
}
于 2013-04-05T22:17:29.917 回答