您可以启用R函数在评估时查看其自身形式的值吗?

安德鲁

在R语言中,假设我有一个函数ff(jj,kk,mm)。我希望调用函数(或在交互式会话中调用人类)能够使mm在调用时以任意方式依赖jj和kk。

为具体起见,假设:

ff <- function(jj, kk, mm){
  xx <- jj + kk  
  out<- xx/mm   
  out
}

然后在运行时,我要设置mm <- jj*kk即:

ff(2, 3, (jj*kk))

这产生:

Error in ff(2, 3, (jj * kk)) : object 'jj' not found

mm在评估之前,即在jjkk已经成功评估之前,不会引发此错误因此,然后使用不同的作用域规则对它们进行第二次评估。我了解这是R标准范围。我在问,如果可以编写函数,让我可以给它一个简单的数字,还是其他形式参数的函数,前提是这些参数已经被使用或可以被求值了mm

请注意,我并不是在问是否应该这样做。对于那些对后一个问题有意见的人,我将坚决地礼貌。

我也不问我是否可以预先计算jj并递给ff预先消化的数字。我知道这是一个合理的答案,但是由于我简化了这个问题,因此它不起作用。

乔什·奥布莱恩

就目前而言,您的函数ff()不起作用,因为提供的参数是在调用环境的上下文中进行评估的,从该点出发,既不优势jj也不kk是“可见”的。

mm在函数自己的评估框架的上下文中评估提供给该语句,请使用eval(substitute()),如下所示:

ff <- function(jj, kk, mm){
  mm <- eval(substitute(mm))
  xx <- jj + kk  
  out<- xx/mm   
  out
}

ff(2, 3, (jj*kk))
## [1] 0.8333333

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您可以获取通过其调用函数的属性名称吗?

来自分类Dev

您可以获取通过其调用函数的属性名称吗?

来自分类Dev

您可以通过传递类来更改其值吗?

来自分类Dev

您可以在R中的函数中使用嵌套参数吗?

来自分类Dev

您可以在match()函数中使用多个条件吗-R

来自分类Dev

您可以将对象添加到其构造函数内部的数组中吗

来自分类Dev

xamarin形式:控件可以绑定自身吗?

来自分类Dev

错误:值Recusion函数将被评估为F#中其自身定义的一部分

来自分类Dev

您可以在MySql查询中选择一个表值并对其进行编辑吗?

来自分类Dev

您可以在Swift中评估字符串吗?

来自分类Dev

您可以使用变量的值作为函数名称来调用函数吗?

来自分类Dev

您可以在存储其他函数返回值的函数内部创建局部变量吗?

来自分类Dev

迭代函数可以调用自身吗?

来自分类Dev

以连续形式,组合框是否可以根据其自身记录中的字段或文本框值使用不同的查询?

来自分类Dev

您可以在redis中查看lua脚本吗?

来自分类Dev

人偶资源可以引用其自身的属性之一吗?

来自分类Dev

片段可以从自身内部更改其布局吗?

来自分类Dev

您可以在同一行中的值上运行Oracle的AVG()函数吗?

来自分类Dev

您可以将匿名函数嵌套在MATLAB类的默认值中吗?

来自分类Dev

您可以从函数返回的表中挑选一个列值吗?

来自分类Dev

斯威夫特:您可以将函数作为值存储在字典中吗?

来自分类Dev

您可以将此值绑定到生成器函数中吗

来自分类Dev

部分应用的函数是否可以调用其部分应用的自身?

来自分类Dev

我可以在函数名称空间中按其值定义一个函数吗?

来自分类Dev

在R中,您可以将文本分隔为列,以使值对齐吗?

来自分类Dev

在R中,您可以在df $ var命令中引用值吗?

来自分类Dev

您可以将某些组中的值放入R中的新列中吗?

来自分类Dev

在R中,您可以将文本分隔为列,以使值对齐吗?

来自分类Dev

在R中,您可以在df $ var命令中引用值吗?

Related 相关文章

  1. 1

    您可以获取通过其调用函数的属性名称吗?

  2. 2

    您可以获取通过其调用函数的属性名称吗?

  3. 3

    您可以通过传递类来更改其值吗?

  4. 4

    您可以在R中的函数中使用嵌套参数吗?

  5. 5

    您可以在match()函数中使用多个条件吗-R

  6. 6

    您可以将对象添加到其构造函数内部的数组中吗

  7. 7

    xamarin形式:控件可以绑定自身吗?

  8. 8

    错误:值Recusion函数将被评估为F#中其自身定义的一部分

  9. 9

    您可以在MySql查询中选择一个表值并对其进行编辑吗?

  10. 10

    您可以在Swift中评估字符串吗?

  11. 11

    您可以使用变量的值作为函数名称来调用函数吗?

  12. 12

    您可以在存储其他函数返回值的函数内部创建局部变量吗?

  13. 13

    迭代函数可以调用自身吗?

  14. 14

    以连续形式,组合框是否可以根据其自身记录中的字段或文本框值使用不同的查询?

  15. 15

    您可以在redis中查看lua脚本吗?

  16. 16

    人偶资源可以引用其自身的属性之一吗?

  17. 17

    片段可以从自身内部更改其布局吗?

  18. 18

    您可以在同一行中的值上运行Oracle的AVG()函数吗?

  19. 19

    您可以将匿名函数嵌套在MATLAB类的默认值中吗?

  20. 20

    您可以从函数返回的表中挑选一个列值吗?

  21. 21

    斯威夫特:您可以将函数作为值存储在字典中吗?

  22. 22

    您可以将此值绑定到生成器函数中吗

  23. 23

    部分应用的函数是否可以调用其部分应用的自身?

  24. 24

    我可以在函数名称空间中按其值定义一个函数吗?

  25. 25

    在R中,您可以将文本分隔为列,以使值对齐吗?

  26. 26

    在R中,您可以在df $ var命令中引用值吗?

  27. 27

    您可以将某些组中的值放入R中的新列中吗?

  28. 28

    在R中,您可以将文本分隔为列,以使值对齐吗?

  29. 29

    在R中,您可以在df $ var命令中引用值吗?

热门标签

归档