2

S-Plus から R を呼び出す良い方法について何か提案はありますか? 理想的には、R にコードを渡してデータを取得するだけで、それらを統合するために複雑すぎるものを書く必要はありません。

Omegahat のRinSパッケージに精通していることを付け加えておきますが、使用したことはありません。私は、Tibco が引き継ぐ前に、Insightful が環境を統合する努力をしていたという印象を受けました。

編集: RinS は Windows では動作しないことがわかりました。最も簡単な解決策は、Rscript を使用することであることがわかりました。これは S-Plus からsystem()コマンドで呼び出すことができます。たとえば、簡単なスクリプトを次に示します。

#! 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 にインポートします。

4

1 に答える 1

5

RSPlusは、私が認識している唯一のオプションです。1年ほどほぼ毎日使っていましたが、R2.7以降は使っていません。あなたの Q から、RSPlus が確実に実行できる SPlus 内で R を実行したいだけのようです (R は、いくつかの SPlus 関数で構成されるインターフェイスを介してアクセスできる別のインタープリターであり、最も頻繁に使用されるのは '.R()' です。たとえば、.R("fivenum", 1:10)。

「RinS」は RSPlus を構成する 2 つのモジュール (SpinR はもう一方) の 1 つであるため、同じことを話していると思います (つまり、行きたい方向に関係なく、単一のインターフェイスしかありません--R SPlus へ、または SPllus から R へ)。当時の私には明らかではありませんでしたが、RinS を動作させるには両方のモジュールをインストールする必要がありました。

于 2010-01-06T12:15:29.637 に答える