将函数及其条件分配给变量,以便稍后在脚本中使用 - R

时间:2017-11-29 10:54:57

标签: r variable-assignment

所以我有一个函数,我想在我的脚本中的多个地方使用,但我不想一遍又一遍地重复脚本部分。我可以将它分配给这样的变量吗?

  png(filename = "comparison_plot.png",
  units = "px",
  width = 1920,
  height = 1080,
  res = 150,
  bg = "white",
  type = "cairo")

  function <- png(filename = "comparison_plot.png",
                  units = "px",
                  width = 1920,
                  height = 1080,
                  res = 150,
                  bg = "white",
                  type = "cairo")

然后当我稍后在脚本中使用它时:

>function

它将调用该函数并执行我编写的操作:

  png(filename = "comparison_plot.png",
  units = "px",
  width = 1920,
  height = 1080,
  res = 150,
  bg = "white",
  type = "cairo")

谢谢大家!

1 个答案:

答案 0 :(得分:2)

然后编写一个执行此操作的函数:

make_comparison_plot = function(){
 png(filename = "comparison_plot.png",
  units = "px",
  width = 1920,
  height = 1080,
  res = 150,
  bg = "white",
  type = "cairo")
}

然后你执行make_comparison_plot()并执行函数 body 中的内容。

一些注意事项:

  • 不要调用您的函数function - 它不具有描述性,也是用于定义函数的R关键字。
  • 可以make_comparison_plot那样做一个简单的词,但最好是创建一个函数并用make_comparison_plot()调用它(即用括号)。
  • 所以你写了一个能做一件事的功能。您可能想要对此进行变更,因此最好将参数设置为默认值。

例如:

  make_comparison_plot = function(filename = "comparison_plot.png",
        units = "px",
        width = 1920,
        height = 1080,
        res = 150,
        bg = "white",
       type = "cairo"){
   png(filename=filename, units=units, width=width, height=height, res=res, bg=bg, type=type)
  }

然后make_comparison_test()将像以前一样工作,但您也可以尝试make_comparison_test(filename="compare2.png")并获取不同的输出文件。或make_comparison_test(filename="small.png", width=100, height=100)。这就是编写函数的能力。