2013-04-05 68 views
1

我试图在R中创建一个用户定义的函数,并带有一个可选参数以将图表保存为pdf。我有必要的参数默认为FALSE。如果为TRUE,则使用filename.pdf保存为pdf。我已经得到了一些语法错误:具有可选参数的R函数保存文件

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

感谢。

回答

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

很好的答案和文件命名的额外要点 – 2013-04-06 04:00:56