RStudio和TibcoSpotfire之间的R脚本不一致

时间:2019-02-15 21:27:15

标签: r rstudio spotfire tibco terr

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

在很多情况下,我注意到SpotFireR之间的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") 的{​​{1}}函数的文档链接是hereR 返回类似strftime的值,这是文档指出应使用的RStudio自变量的值。 "201901"返回类似format的值-根据文档,根本没有周数信息。如果我将SpotFire替换为"2019",则format="%Y%V"会返回类似format="%Y%W"的值,这也是文档中指出的值。据我所知,RStudio返回使用"201900"应该具有的值-所以我想它在内部会以某种方式更改输入。

我的基本问题是:如何解决这种问题,如何知道SpotFire何时/如何以某种奇怪的方式弄乱我的函数及其变量?例如,是否有format="%Y%V"使用的SpotFire的某些特殊版本,但没有记录在案的R,还是有Tibco提供了如何内部处理{ {1}}代码?

感谢您的帮助。

1 个答案:

答案 0 :(得分: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,但随后需要统计服务器。

Gaia