在R中创建函数时添加参数

时间:2015-05-07 14:01:24

标签: r

我是R的初学者。例如,我有一个名为w的函数,其代码如下所示:

    w<-function(x){
       a<-x+2
       plot(a)
      }

如何在函数中添加这些参数以便

  1. 导出:如果屏幕上允许结果,则数字等于0;如果结果应打印在文本文件中,则为1。

  2. Tfile:将写入结果的文本文件的名称;

  3. Gfile:将写入图表的pdf文件的名称。

2 个答案:

答案 0 :(得分:4)

要在函数中包含更多参数,只需在function()中列出它们。

w <- function(x, export, tfile, gfile) {
    a <- x + 2
    if (export == 1) {
        write.csv(a, file = tfile)
    } else if (export == 0) {
        pdf(file = gfile)
        plot(a)
        dev.off()
    }
}

有关在R中编写和调试函数的更多信息,请参阅this article

答案 1 :(得分:-1)

正如其他人所指出的那样,只需用逗号分隔其他参数即可。你可以拥有你想要的任意数量。

w <- function(x, export, tfile, gfile)

在函数定义中分配值允许它们具有默认参数,因此您可以选择不包含它们

w <- function(x, export = 0, tfile = "w.csv", gfile = "w.pdf")

我将补充说,plot函数(和许多其他函数)的一个方便的东西是省略号...构造,它基本上意味着&#34;任何其他相关的参数&#34;。例如,执行此类操作可以选择将更多图形参数传递给您的绘图(例如标签名称,标题)。

w <- function(x, ...){
    a <- x + 2
    plot(a, ...)
}
w(10, main="Main title")
w(15, type='l', col='red')