gpt4 book ai didi

r - 将名称-值对转换为 R 中的函数参数

转载 作者:行者123 更新时间:2023-12-01 09:28:04 27 4
gpt4 key购买 nike

我正在写一个 R 函数,比如说 foo()。我希望能够传入参数的名称和值以在 foo() 内的函数内进行评估。例如:

foo = function(inputArg, inputVal){
return( rnorm(100, inputArg=inputVal) )
}

然后,我可以评估
foo("sd", 2)

并获得标准差等于 2 的 100 个随机正态值的向量。我该怎么做?

最佳答案

对于这种情况,最好使用 do.call允许您将所有参数作为列表传递的语法。例如

foo = function(inputArg, inputVal){
args <- list(100, inputVal)
names(args) <- c("", inputArg)
do.call(rnorm, args)
}

我们可以按照您的期望调用它。
foo("sd", 2)

这里 args只是一个常规列表,其中每个元素对应于您将作为参数传递的值。如果您想要命名参数,您可以设置列表的名称。如果要将参数保留为位置(未命名),请将其名称设置为 "" .

关于r - 将名称-值对转换为 R 中的函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24335626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com