You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用paradox包的p_dbl设置指定的3个浮点参数值?

解决paradox包中指定参数离散浮点值的问题

要给paradox参数集里的参数X指定0.99、0.98、0.97这三个固定浮点值,你需要利用参数的离散值指定机制,而非默认连续型的p_dbl()写法。以下是两种可行的实现方式:

方法1:使用p_dbl()结合values参数

p_dbl()支持通过values参数直接传入允许的离散数值,这会覆盖默认的连续范围限制,强制参数只能取你指定的几个值:

library(paradox)

# 创建参数集并定义参数X
param_set = ParamSet$new(list(
  p_dbl(id = "X", values = c(0.99, 0.98, 0.97))
))

方法2:使用p_fct()定义因子型参数并转换数值

如果需要更明确的离散类型声明,可以用p_fct()定义因子参数,再通过trafo参数自动转换为数值类型:

library(paradox)

param_set = ParamSet$new(list(
  p_fct(id = "X", levels = c(0.99, 0.98, 0.97), trafo = function(x) as.numeric(x))
))

为什么之前的写法无效?

你尝试的p_dbl(c(0.99, 0.98, 0.97))不符合函数参数定义:p_dbl()的第一个参数是参数的id(字符串类型),而非数值向量,因此这种写法会被解析错误,无法达到预期效果。

内容的提问来源于stack exchange,提问作者Mislav Sagovac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:05:51