R:功能中的功能:管理环境

标签 r

在函数 A 中,我有函数 B,它从函数 A 的环境中获取 4 个对象并修改它们。然后,我需要将这些对象发送回函数 A 的环境。

我正在寻找最佳实践建议: 目前我所做的是:函数B返回一个包含对象的列表,并且每个对象在函数A的环境中被覆盖。有没有更好的方法来处理这个问题? 关于管理环境的讨论相当复杂,这对于社区来说是一个重要而简单的问题。

下面是我实现的一些伪代码

Function A = getObjects(A,B,C){

A= A+1
B= B+1
C= C+1

# Function B returns a list containing the object after certain operations were # performed on these

listFromFunctionB =  FunctionB(A,B,C)

A = listFromFunctionB$A
B = listFromFunctionB$B
C = listFromFunctionB$C

#Other operations keep going on objects A,B and C
}

最佳答案

可能没有比你已经得到的更好的练习了。

函数式编程语言(例如 R)通常不允许函数修改输入参数。

此外,R 函数仅返回一个对象,因此返回包含对象 A、B 和 C 的列表也是正确的方法。

关于R:功能中的功能:管理环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257314/

相关文章:

r - 具有 geom_smooth 的对数 y

引用类的 R 测试

r - 无法在 R 中安装 rgbif 包

r - 使用 any() 与 |在 dplyr::mutate 中

r - 获取上周五的日期

java - 在 MacO 上的 R 中加载 rJava 库失败

r - R 中左连接的意外结果

r - 将字符串添加到没有新行的文本文件的开头

r - 停止运行 Shiny 的应用程序键盘快捷键

R - Matchit - 倾向得分匹配 - 丢弃功能不起作用