如何编写R函数实现输入函数列表返回所有函数参数组成的向量
问题排查
你现有代码的问题主要有3个:
- 没有设置全局的汇总变量,每次循环拿到的参数都存在局部变量
d里,循环结束后没有统一的结果返回,仅会打印单次循环的参数内容 - 代码里的
d<-append(d,d)会把当前函数的参数重复拼接一次,属于多余逻辑,会导致输出参数重复 - 循环计数逻辑冗余,同时用
x1累加和循环变量d计数,容易出现索引错误
修正后代码
eg <- function(Function_list) { # 初始化空向量存储所有参数 res <- c() for (f in Function_list) { # 提取当前函数参数并入结果向量 res <- append(res, formalArgs(f)) } return(res) }
测试示例
# 构造测试用的函数列表 test_list <- list(mean, sum, lm) # 调用自定义函数 eg(test_list)
运行后会输出三个函数的所有参数组成的字符向量,符合需求。
内容的提问来源于stack exchange,提问作者GEX_HEX_420
相关产品推荐
相关产品推荐

