【问题标题】:Calling R from S-Plus?从 S-Plus 调用 R?
【发布时间】:2011-01-01 21:51:17
【问题描述】:

有人对从 S-Plus 调用 R 的好方法有任何建议吗?理想情况下,我只想将代码传递给 R 并取回数据,而不必编写任何过于复杂的东西来集成它们。

我应该补充一点,我熟悉 Omegahat 上的 RinS 包,但我没有使用过它。我的印象是 Insightful 在 Tibco 接管之前已经努力整合环境。

编辑: 事实证明,RinS 不能在 Windows 上运行。我发现最简单的解决方案就是使用 Rscript。我可以使用 system() 命令从 S-Plus 调用它。例如,这是一个简单的脚本:

#! Rscript --vanilla --default-packages=utils
args <- commandArgs(TRUE)
print(args)
print(1:100)
Sys.sleep(2)
res <- "hello world"
class(res) <- "try-error"
if(inherits(res, "try-error")) q(status=1) else q()

从 S-Plus 调用它:

system("rscript c://test.rscript 'some text'")

然后我只是将结果存储到一个文本文件中,并在脚本运行后将其导入 S-Plus。

【问题讨论】:

  • 什么是 S-Plus?抱歉,忍不住...
  • 哎哟... :) 这是 R 的傻瓜。

标签: r s-plus s


【解决方案1】:

RSPlus 是我知道的唯一选择。我几乎每天都使用它大约一年,但从 R 2.7 开始就没有使用它。从您的 Q 来看,您似乎只想在 SPlus 中运行 R,RSPlus 肯定可以做到这一点(R 是一个单独的解释器,可通过由几个 SPlus 函数组成的接口访问,最常用的是 '.R()' ,例如 .R("fivenum", 1:10)。

我认为我们在谈论同样的事情,因为“RinS”是两个模块之一(另一个是 SpinR),它们共同组成 RSPlus(即,只有一个接口,无论您想往哪个方向走--R 到 SPlus,或 SPllus 到 R)。虽然当时对我来说并不明显,但我必须安装这两个模块才能让 RinS 工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 2014-12-31
    • 2015-05-17
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多