0

我正在尝试编写一个将插入到更大脚本中的函数。此函数的目的是接受任意数量的输入变量,然后相应地绘制它们:

Plot_funct <- function(FigFolder,var1,var2,var3,...){

nargin <- length(as.list(match.call())) -1  

}

这就是我开始的地方,这里我们有 FigFolder,它是应该保存数字的路径(如 .pdf),我定义了指定输入参数数量的 'nargin',然后我计划循环通过每个参数(var1、var2 等)并相应地绘制。我主要关心的是如何设置允许任意数量的输入的功能?

4

1 回答 1

2

更容易的是只提供这些变量的列表:

plot_funct = function(FigFolder, variable_list, ...) {
   for(variable in variable_list) {
      # Make plot here
   }
})

或者更多的R,比如:

plot_variable = function(variable, ...) {
   # Make plot here
})

plot_funct = function(FigFolder, variable_list, ...) {
   lapply(variable_list, plot_variable, ...)
})

您也可以坚持使用单独的变量,并使用...

plot_function = function(..., FigFolder) {
   variable_list = list(...)
   # and use any of the two strategies given above, I'll use lapply
   lapply(variable_list, plot_variable)
})

请注意,这比真正的 R 代码更像是伪代码,但它说明了一般策略。

于 2013-04-20T08:40:03.977 回答