问题标签 [r6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
301 浏览

r - 使用set动态构造R6类和实例

我想创建一个create_thresholds动态创建 R6 类和实例对象的函数。这个想法是动态创建一个数据结构,它具有客户端对象可以访问的只读活动字段,类似于 Wickham 所示的示例(https://adv-r.hadley.nz/r6.html - 16.3.2 Active字段)。我已经查看了向 r6 类实例动态添加函数,但我正在寻找一种修改类定义的解决方案,而不是向实例对象添加函数。

该函数create_thresholds读取 var/val 对的 data.frame,然后创建一个 R6Class 对象,在该对象上尝试设置各种私有字段并创建只读活动字段。该函数通过创建 Thresholds 对象的新实例而终止。

如以下代码所示,调用活动方法似乎会在不正确的环境中评估方法表达式。

0 投票
1 回答
140 浏览

r - 在R中如何对R6对象数组进行排序

如何根据自己的函数值或比较函数值对 R6 对象进行排序/排序?

我用矩形组成了一个小例子,我想按它们的面积排序:

我想array_of_rects按功能给出的区域进行排序get_area()

我尝试了不同的方法,例如:

但没有运气(我收到一条'x' must be atomic错误消息)。

我试过没有[[1]](像这样e1$get_area()),但这也没有用。

四处搜索,但没有找到任何导致我找到解决方案的东西。

有什么建议么?提前致谢!

0 投票
0 回答
68 浏览

r - R6:向主类添加功能

我喜欢setR6 中的函数,因为它允许我更动态地构建对象。我希望能够从 中的空白设置对象开始R6Class()$private$settings,然后在我有新对象和测试时动态添加到它。

set覆盖对象,我想在调用R6Class(..)$new. 这是可能的,还是我应该以不同的方式处理这个问题?我收到错误消息Error in element %in% names(self$private) : object 'self' not found,所以我假设它与环境有关?

干杯,乔尼

0 投票
0 回答
77 浏览

r - 仅在初始化期间“解锁”R6 类

我想动态地将方法添加到一个R6类中,但仅限于initialize(). 为此,我必须设置lock_objectsFALSE. 是否有一种简单的方法可以在结束时再次锁定对象initialize()

0 投票
0 回答
579 浏览

r - Roxygen - R6 方法

0 投票
1 回答
5209 浏览

r - 即使在 R 中使用 set.seed() 也会产生不同的结果

我用相同的种子重新运行,但不能在 R studio 中产生相同的结果。

调用不同的用户包、R6 类和方法时,set.seed() 会丢失轨道吗?

您是否遇到过类似的情况以及如何解决?

非常感谢

0 投票
1 回答
284 浏览

r - 更改 R6 类中的克隆行为

假设我有一个 R6 类,其中一个元素是指向某个 C++ 对象的外部指针。

所以我有这样的事情:

如果我使用myclass$clone()它仍然会指向相同的myclass$xp. 如果我这样做也会发生这种情况,myclass$clone(deep = TRUE)因为它不知道如何在 C++ 端进行克隆。

在这种情况下,我可以使用自定义deep_clone方法...

但是由于在我的用例中克隆类而不进行深度克隆总是错误的,我想知道是否可以clone直接更改 的行为。

我尝试只创建一个clone()方法,但 R6 不允许这样做。

0 投票
1 回答
81 浏览

r - 如何在 R6Class 中以私有方法访问公共成员?

这是我的示例代码。我运行最后一个代码Person$GrowUP2()。但是,我得到了错误Error in Person$GrowUP2() : attempt to apply non-function

我不知道为什么这段代码没有运行。我想使用私有方法来修改公共成员。如何

0 投票
1 回答
108 浏览

r - 更新父字段时更新 R6 对象中的依赖字段

我是 R6 和面向对象编程的新手,所以我不确定谈论对象内部字段之间依赖关系的正确方法。

我的对象具有依赖于对象内其他字段的字段。我希望这些依赖字段在更新其中一个输入时自动更新。

我已经想出了一种手动方法,但认为可能有更好的方法。我在田野里玩耍,active但我无法让它们工作。

这个例子应该很清楚。我有一个quad接受widthheight计算的对象area。我希望area在更新时自动width更新height

这似乎是活动领域旨在实现的目标之一,但我无法让它们发挥作用。

self$area出于说明的目的,我通过在每个字段的set方法中包含一个重新计算行来实现我的目标。

这应该怎么做?

0 投票
0 回答
263 浏览

r - 测试 R6 类

是否有任何框架可以测试面向对象的 R 代码,比如 R6 类,可以与 JUnit 相媲美?

作为一名来自 Java 世界的软件工程师,与使用 Java 的 JUnit 或 Scala 的 scalatest 相比,我发现测试 R 代码出奇地繁琐。