创建alist时,如何在运行时提取函数体

火星人

R 的新手,我正在尝试找到答案,但也许我不知道如何表达这个问题,如果之前有人问过这个问题,很抱歉。

我想在 for 循环中将一系列函数/模型拟合到数据中,而不是手动执行每个。为此,我需要在 中指定模型alist,列出以下内容:

flist <- alist(y ~ dnorm(mu, sigma),
               mu <- a + b*x,     # need to replace this line with general function
               a ~ dnorm(0, 100),
               b ~ dnorm(0, 10),
               sigma ~ dunif(0, 10)
)

要在 for 循环中执行此操作,我需要能够替换a + b*x为在运行时选择的某个函数的主体。所以我想这样做:

flist <- alist(y ~ dnorm(mu, sigma),
               mu <- body(function[i]),
               a ~ dnorm(0, 100),
               b ~ dnorm(0, 10),
               sigma ~ dunif(0, 10)
)

但是,似乎 alist 实际上并未评估body(function[i]),这似乎是alist. 有没有办法在运行时取出身体?

本质上,我所追求的是要评估 alist 中表达式的一部分(body(...)),但不是全部(保持 ~/<- 运算符未评估)。

有可能做到这一点parse吗?

穆迪_弹涂鱼

我不确定我是否理解,但你需要这样的东西吗?

funs <- list(f1 = function(x) x + 3, f2 = function(x) 2 * x + 2)


flist <- alist(y ~ dnorm(mu, sigma),
        mu <- FUN_BODY,     # need to replace this line with general function
        a ~ dnorm(0, 100),
        b ~ dnorm(0, 10),
        sigma ~ dunif(0, 10))


flist[[2]] <- eval(substitute(substitute(ARG,
  list(FUN_BODY = body(funs[[2]]))),
  list(ARG = flist[[2]])))

# [[1]]
# y ~ dnorm(mu, sigma)
# 
# [[2]]
# mu <- 2 * x + 2
# 
# [[3]]
# a ~ dnorm(0, 100)
# 
# [[4]]
# b ~ dnorm(0, 10)
# 
# [[5]]
# sigma ~ dunif(0, 10)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在运行时使用指定的参数名称创建函数?

来自分类Dev

如何在运行时在NodeJs中动态创建和调用函数

来自分类Dev

如何在运行时从C ++创建QQmlComponent?

来自分类Dev

如何在运行时递归创建ActionBar?

来自分类Dev

如何在运行时创建表达式

来自分类Dev

如何在运行时动态创建Predicate <T>

来自分类Dev

如何在运行时创建该类的实例

来自分类Dev

如何在运行时递归创建ActionBar?

来自分类Dev

如何在运行时创建表达式

来自分类Dev

Python如何在运行时创建类的方法

来自分类Dev

如何在运行时映射表创建?

来自分类Dev

在运行时快速创建函数

来自分类Dev

Javascript:在运行时创建函数

来自分类Dev

如何在运行时创建JPanels并在用户单击时显示其名称

来自分类Dev

如何在运行时生成函数?

来自分类Dev

C ++如何在运行时链接函数声明?

来自分类Dev

如何在运行时解析函数?

来自分类Dev

如何在运行时根据构造函数参数在超类中创建子类对象(在Java中)

来自分类Dev

如何在运行时创建的面板中创建组件?

来自分类Dev

可以在运行时使用Javascript创建函数吗?

来自分类Dev

在运行时JavaScript中创建匿名函数

来自分类Dev

如何在运行时运行php扩展

来自分类Dev

如何在运行时动态创建C#类(根据现有类)

来自分类常见问题

如何在运行时使用LambdaMetaFactory创建代理对象?

来自分类Dev

如何在运行时使用Spring创建请求范围的Bean

来自分类Dev

如何在运行时在python中创建文件句柄?

来自分类Dev

如何在运行时使用TypeTags创建类型T的实例

来自分类Dev

如何在运行时创建剔除数据绑定而没有数据属性

来自分类Dev

如何在运行时创建可滚动的TW3ListMenu?

Related 相关文章

热门标签

归档