我正在尝试编写一个将插入到更大脚本中的函数。此函数的目的是接受任意数量的输入变量,然后相应地绘制它们:
Plot_funct <- function(FigFolder,var1,var2,var3,...){
nargin <- length(as.list(match.call())) -1
}
这是我开始的地方,这里我们有FigFolder这是应该保存数字的路径(如.pdf),我定义'nargin'指定输入参数的数量,然后我是计划循环遍历每个参数(var1,var2等)并相应地进行绘图。我主要担心的是你如何设置一个允许任意数量的输入的功能?
答案 0 :(得分: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代码更多的伪代码,但它说明了一般策略。