问题标签 [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 投票
0 回答
95 浏览

r - 专有系统和银行之间的 RSI(使用 TTR)结果不同

问题:

即使使用相同的设置,我的系统和银行之间的计算 RSI 怎么会有差异?两个系统的源数据 (OHLC) 相同。我故意省略了“maType”,因为默认值为“MA”。

迄今为止的观察:

阅读此链接:https ://quant.stackexchange.com/questions/30134/r-rsi-calculation-ttr-package

标准 TTR RSI 似乎使用 Wilder EMA。我认为这可能是 RSI 结果不同的原因。

当前故障排除状态:

做了一些添加 wilder = FALSE 的测试,这使得 RSI 值接近银行值,但不准确。我还注意到,无论您添加 emaType 还是忽略它,RSI 结果都会有所不同,这似乎是一个错误,因为忽略它应该使用 emaType="EMA"。

场景:

使用 R R6 创建面向对象的类并使用 TTR 创建 RSI 指标结果:

专有系统的结果(使用“要价”)。

OHLC 数据(从银行 API 下载)+“RSI 结果”:

银行图形上的结果:银行也使用 period = 14 和“要价”。

0 投票
1 回答
492 浏览

r - 如何在 R 中将“foreach”和“%dopar%”与“R6”类一起使用?

我在尝试使用%dopar%foreach()R6类一起使用时遇到了问题。环顾四周,我只能找到两个与此相关的资源,一个未回答的SO 问题和一个在存储库上的开放GitHub 问题。R6

在一条评论(即 GitHub 问题)中,建议通过将parent_env类的 重新分配为SomeClass$parent_env <- environment(). 我想了解在of中调用environment()此表达式(即 )时究竟指的是什么?SomeClass$parent_env <- environment()%dopar%foreach

这是一个最小的可重现示例:

现在,下面Task的类使用Work构造函数中的类。

FactoryTask中,创建类并foreach..m.thread().

然后,它被称为:

如果没有以下行object$parent_env <- environment(),则会引发错误(即,如其他两个链接中所述):Error in { : task 1 failed - "object 'Work' not found".

我想知道,(1)分配parent_env内部时有哪些潜在的陷阱foreach,(2)为什么它首先起作用?


更新1:

  • environment()从内部返回foreach()private$..warehouse捕捉那些环境
  • 在调试会话中使用rlang::env_print()(即,browser()语句在执行结束后立即放置foreach)它们的组成如下:
0 投票
1 回答
74 浏览

r - 作为 R6 类成员函数的替换函数

我一直在玩 R6 ab bit 并尝试实现一个替换功能(在精神上类似于base::`diag<-`())。得知以下内容不起作用,我并不感到惊讶

这在前缀表示法中对应什么?以下所有工作都按预期工作,所以我想这些都不是

我对可能的解决方法不太感兴趣,但更想了解为什么上述内容无效。

0 投票
0 回答
51 浏览

r - 在包中的私有 R6 方法中导入 magrittr

去年我在 R 中编写了一个 BaseX 客户端(https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/r),现在我正在尝试为这个驱动程序构建一个包。
驱动程序是使用R6系统构建的。我将这些指令添加到RbaseXClient.R

使用以下代码初始化驱动程序:

第 4 行self$str_receive使用 magrittr pipe-operator %>%str_receive被定义为公共方法。
私有(第 15 行)方法中使用了相同的管道运算符,void_send但出现此错误:

如何使管道运算符(以及所有其他导入)可用于私有方法?

0 投票
0 回答
132 浏览

r - 为 R6 类向量实现方法分派

是否有关于如何将 R6 对象向量的方法分派到数据框或列表中的指导?

这适用于单个 R6 类

在 R6 类上实现 S3 调度的正确方法

按照建议在另一个线程中实现 S3 方法分派对于单个 R6 对象非常有效,例如:

但是应该如何实现以下内容:

返回的数据框应为每个 R6 对象和字段名称提供一行,应用作列名称,其值在每一行中

0 投票
1 回答
89 浏览

r - R - 将 Python 类转换为 R 的 R6 类 - 唯一名称错误

我正在翻译在 Julia(用于主要代码 - https://rosettacode.org/wiki/Word_search#Julia)和 Python(用于创建 Grid 类 - https:// /rosettacode.org/wiki/Word_search#Python)。

我正在尝试将 Grid 的类定义从 Python(见下文)重写为 R:

以下是我将 Python 类转换为R6类的尝试:

以下是我在 R 中收到的错误消息:

请提供有关如何正确执行此翻译的建议。

谢谢你。

0 投票
1 回答
232 浏览

r - R:如何重载 + 运算符来调用将函数添加到 R6 类的方法?

我的目标是重载+运算符,以便在R6 对象上调用方法。这是一个带有 R6 类对象的玩具示例,该类对象本身aclass具有add_function(foo)存储某些任意函数的方法。

我想用ggplot2 的 +.gg 或 +(e1,e2)的样式替换对add_function(foo)by的调用。我检查了ggplot2 github 代码,但无法弄清楚。+ foo

这是一个 R6 对象,我们可以在其中添加任意函数

这有效

这失败了

我的目标是做与上面相同的事情,即将 foo 添加到对象中,但现在通过重载 + 运算符以更好的方式完成工作

我不确定如何解决这个问题,或者它是否真的可能......

谢谢你的帮助!

0 投票
1 回答
571 浏览

osgi - 获取工厂服务的引用(OSGI - AEM 上下文)

我正在尝试获取对我创建的工厂服务的引用(在 AEM 6.4.6 中)并且失败了。这是代码(确实尝试搜索类似的,但没有找到直接的答案。我可能搜索得不够多,或者我正在做的事情可能完全错误。期待专家的回复)。

更新 3:(最后更新 1 和 2) - 这是一个关于如何使用引用获得它的问题。但是,如果专家可以分享其他方法,那也很棒。

服务代码(在第一个包中)

服务实现代码(另一个捆绑包 - 第二个捆绑包,注意它是一个工厂)

配置截图 在此处输入图像描述

在此处输入图像描述

参考

选项 1(直接参考):

选项 2(间接使用绑定和取消绑定)

这些似乎都不起作用。在第一种情况下,godaDataServiceFactory 为空。第二种情况,列表总是空的。请注意,消费者是一个 servlet。

我的 GitHub 存储库

消费者-> https://github.com/GodaProjects/aem646

API -> https://github.com/GodaProjects/api

API IMPL -> https://github.com/GodaProjects/apiImplJcr

更新1:

对于选项 1,servlet 仍然不满意。

参考 godaDataServiceFactory
Unsatisfied Service Name: com.goda.core.services.GodaDataServiceFactory Target Filter: (sample=test) Cardinality: 1..1 Policy: static Policy Option: relucant No Services bound

在此处输入图像描述

对于第二个选项,列表保持为空

更新 2

消费者项目是使用 Archetype 13 创建的(具有使用工厂服务的 servlet)-> https://github.com/GodaProjects/aem646

API 项目是使用 Archetype 18 创建的(具有工厂的 API 接口)-> https://github.com/GodaProjects/api

API IMPL 项目是使用 Archetype 18 创建的(具有 API 项目中 API 的实现)-> https://github.com/GodaProjects/apiImplJcr

0 投票
1 回答
104 浏览

r - [R6] as.vector(x, "symbol") 中的错误:无法将“环境”类型强制转换为“符号”类型的向量

我在以下代码中使用了我的 R6 对象和函数

在某些情况下,它是成功完成的。

但是,错误发生在以下代码中

为什么在函数之外定义Test对象时会出错?

请告诉我如何避免在使用 Test 类和 someAnalysis 方法时出错

0 投票
0 回答
143 浏览

r - 自动移除 R6 对象

我用 R6 包创建了一个银行账户类。它具有私有的余额(生成后无法访问)和提取和存入一定金额的方法以及打印方法。(哈德利·威克姆 14.3.3)

目前,如果我创建一个新的 R6 对象并调用大于其初始余额的金额的提款函数,该函数将停止并打印一条消息。相反,我希望直接删除新创建的对象。我怎样才能做到这一点?