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

如何为JMbayes2::jm()的functional_forms参数实现动态变量调用

动态生成JMbayes2::jm的functional_forms参数

要实现functional_forms参数的左右两侧都用变量传递,你可以通过以下几种方式动态构建列表:

方法1:通过列表索引动态赋值

先定义好左侧键名和右侧公式的变量,再通过列表的[[操作符动态设置键值对:

# 定义变量
lhs_key <- "cbind(citr.log2, 0)"
rhs_formula_str <- "~ value(cbind(citr.log2, 0)):CR"

# 初始化空列表并动态赋值
functional_forms <- list()
functional_forms[[lhs_key]] <- as.formula(rhs_formula_str)

方法2:使用setNames直接生成命名列表

利用setNames函数,将公式列表与自定义键名绑定:

lhs_key <- "cbind(citr.log2, 0)"
rhs_formula_str <- "~ value(cbind(citr.log2, 0)):CR"

functional_forms <- setNames(list(as.formula(rhs_formula_str)), lhs_key)

方法3:批量处理多组键值对

如果需要同时设置多个functional_forms条目,可以用Map配合命名赋值:

# 定义多组键和公式字符串
lhs_keys <- c("cbind(citr.log2, 0)", "cbind(marker, 1)")
rhs_formula_strs <- c("~ value(cbind(citr.log2, 0)):CR", "~ value(cbind(marker, 1)):Treatment")

# 生成带命名的公式列表
functional_forms <- Map(function(k, s) as.formula(s), lhs_keys, rhs_formula_strs)
names(functional_forms) <- lhs_keys

之后直接将functional_forms传入JMbayes2::jm()即可完成动态调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:26:02