1

Tibco SpotFire在为--创建数据函数时,build version 7.8.1.0.9我使用RStudio--R version 3.5.2 (2018-12-20)编写和调试函数,然后SpotFire在完成后将代码复制到其中。

有几次,我注意到R代码在RStudio和之间的运行方式不一致SpotFire。每当这些出现时,由 产生的结果RStudio与在线R文档一致,而由 产生的结果则不一致SpotFire

我一直在跟踪示例,但我确实有我最近的示例可用。下面是该数据函数的简化版本。它和它下面的段落比这篇文章的理想内容更复杂,但希望它能证明我一直遇到的问题类型。

# converts date strings "yyyy-MM-dd" to week number strings "yyyyww",
# where ww is the week number in the year (ISO 8601 convention.)
# dates is a vector (R) or column in a data table (SpotFire)
# containing strings, formatted as "yyyy-MM-dd". In SpotFire,
# the data type for the column is String, not Date.
Week <- strftime(dates, format="%Y%V")

函数文档的链接R这里。 返回类似 的值,这是文档表明它应该用于使用的参数的值。根据文档返回值,例如- 根本没有周数信息。如果我替换为,则返回类似 的值,这又是文档所指示的。据我所知,返回它应该使用的值- 所以我猜它在内部会以某种方式改变输入。strftimeRStudio"201901"formatSpotFire"2019"format="%Y%V"format="%Y%W"RStudio"201900"SpotFireformat="%Y%V"

我的基本问题是:我如何解决这种事情,我怎么知道何时/如何SpotFire以某种奇怪的方式弄乱我的函数及其变量?例如,是否有一些未记录在案的特殊版本R,或者是否有提供如何在内部处理代码的文档?TibcoRTibcoR

谢谢你的帮助。

4

1 回答 1

2

简短的回答是肯定的。Spotfire 原生运行 TERR,这是 TIBCO 使用的特殊版本的 R。此链接给出了主要区别,但并不详尽:R/4.4.0/doc/html/Differences_Between_TERR_and_R/differences.html

它们是两个独立的语言引擎。如果你用谷歌搜索“TIBCO TERR”,你会发现很多信息。通过转到工具 > TERR 工具,您将找到您在 Spotfire 中运行的 TERR 的确切版本。

您可以使用 RStudio 并将其指向计算机上安装 TERR 的位置,就像将其指向 R 安装一样。通过这种方式,您可以验证您的代码是否符合您的预期。在这种情况下,不支持 %V 但支持 %W。您也可以在 Spotfire 中使用开源 R,但您需要一个统计服务器。

盖亚

于 2019-02-16T00:05:29.743 回答