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

问题描述 投票:1回答:1

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

有几次,我注意到R代码在RStudioSpotFire之间运行的不一致。每当出现这些结果时,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")

Rstrftime函数文档的链接是hereRStudio返回像"201901"这样的值,这是文档表明应该使用的format参数。 SpotFire返回像"2019"这样的值 - 根据文档没有任何周数信息。如果我用format="%Y%V"替换format="%Y%W"RStudio会返回"201900"之类的值,这也是文档中指出的内容。据我所知,SpotFire返回它应该与format="%Y%V"的值 - 所以我猜在内部它以某种方式改变输入。

我的基本问题是:我如何解决这类问题,如何知道SpotFire何时/如何以某种奇怪的方式搞乱我的函数及其变量?例如,R使用的Tibco是否有一些特殊版本,它不是记录在案的R,或者是否有Tibco提供的文件如何在内部处理R代码?

谢谢你的帮助。

r rstudio spotfire tibco terr
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,但是您需要一个统计服务器。

盖亚

© www.soinside.com 2019 - 2024. All rights reserved.