gpt4 book ai didi

r - 在 R 中的第二个函数中使用一个函数中的变量值

转载 作者:行者123 更新时间:2023-12-01 05:01:17 25 4
gpt4 key购买 nike

这可能是一个非常简单的答案,但似乎无法找到解决方案。我有一个函数,它提供一组参数:

theta <-
function(
e = 0.2,l= 0.01,p= 0.05)
return(c(e=e,l=l,p=p))

因此,我可以从中返回一组参数,同时更改其中一个或多个参数,例如通过使用
theta(e=0.1) #or
theta(l=0.1)

我的问题是我想在另一个函数中调用这个函数,其中该函数的输入是变量之一。

因此,例如一个函数,例如:
randFunc<-function(parameter,value){
s<-theta(parameter=value)
return(s)
}

然后使用
randFunc("e",0.1) #or
randFunc("l",0.3)

但是我会收到错误“theta 中的错误(参数 = 值):未使用的参数(参数 = 值)”

我已经尝试了一些东西,但似乎无法获得要在 theta 函数中使用的参数“值”。

最佳答案

另一种方法是使用 do.call:

randFunc <- function(parameter, value){
L = list(value)
names(L) <- parameter
do.call(theta, L)
}

> randFunc('e', 0.1)
e l p
0.10 0.01 0.05
> randFunc('l', 0.3)
e l p
0.20 0.30 0.05

关于r - 在 R 中的第二个函数中使用一个函数中的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629804/

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