在为Tibco SpotFire
-build version 7.8.1.0.9
制作数据函数时-我使用RStudio
-R version 3.5.2 (2018-12-20)
-编写和调试函数,然后将代码复制到{{ 1}}完成后。
在很多情况下,我注意到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")
的{{1}}函数的文档链接是here。 R
返回类似strftime
的值,这是文档指出应使用的RStudio
自变量的值。 "201901"
返回类似format
的值-根据文档,根本没有周数信息。如果我将SpotFire
替换为"2019"
,则format="%Y%V"
会返回类似format="%Y%W"
的值,这也是文档中指出的值。据我所知,RStudio
返回使用"201900"
应该具有的值-所以我想它在内部会以某种方式更改输入。
我的基本问题是:如何解决这种问题,如何知道SpotFire
何时/如何以某种奇怪的方式弄乱我的函数及其变量?例如,是否有format="%Y%V"
使用的SpotFire
的某些特殊版本,但没有记录在案的R
,还是有Tibco
提供了如何内部处理{ {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