gpt4 book ai didi

r - 使用 R 为单个参数创建具有多个名称的函数

转载 作者:行者123 更新时间:2023-12-01 01:44:42 24 4
gpt4 key购买 nike

例如,我希望 s OR sd OR sigma 的参数具有相同的含义。

upper = function(mean, sigma, s, sd) {
s = sd = sigma
value = mean + 2 * sigma
return(value)
}

我要 upper(mean = 0, sd = 1)upper(mean = 0, sigma = 1)给我同样的结果。

最佳答案

一种选择是保留您的函数签名,然后在内部检查 sigma 中的第一个定义参数, s , 和 sd .我们可以使用missing在这里处理这个:

upper <- function(mean, sigma, s, sd) {
param = ifelse(!missing(sigma), sigma, ifelse(!missing(s), s, sd))
value = mean + 2 * param
return(value)
}

print(upper(mean=0, sigma=2)) # 4
print(upper(mean=0, s=2)) # 4
print(upper(mean=0, sd=2)) # 4

Demo

但总的来说,我想知道为什么你认为你需要这个功能。暴露一个接口(interface)然后期望你的函数以某种方式被调用并没有错。

关于r - 使用 R 为单个参数创建具有多个名称的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51576975/

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