R函数带有可选参数以保存文件

时间:2013-04-05 22:04:10

标签: r function

我正在尝试使用可选参数在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")
}

感谢。

1 个答案:

答案 0 :(得分:9)

我认为这是因为没有仔细阅读?pdf您遇到的麻烦。我会让你挣扎一下(因为斗争很好,我常常和R战斗)但我想也许逻辑上的保存方法不是最好的,所以我会插话。我看到的是3个错误:

  1. 你打电话给pdf,但之后再也不打算
  2. 你永远不会说dev.off
  3. pdf
  4. 没有文件扩展名

    这是你的功能修复:

    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()
        }
    }