R と S の違いは何ですか?
4 に答える
R FAQ は、この質問に適切に答えています。
S は、3 つの現在の実装または「エンジン」、「古い S エンジン」(S バージョン 3; S-Plus 3.x および 4.x)、「新しい S エンジン」(S バージョン 4; S-Plus 5.x 以降)、および R. この理解を踏まえると、「R と S の違い」を尋ねることは、S 言語の R 実装の詳細を尋ねることになります。つまり、R と S の違いです。そしてSエンジン。
[...]
コマンド プロンプトまたはスクリプトでの作業について話している場合、最大の違いはパッケージのサポートです。最も根本的な違いは、アンダースコア代入演算子です。S y_2
は と同じy=2
です。Ry_2
では単なる文字列/オブジェクトです。数年前に S から R に移行したとき (当時は S 5.x でした)、アンダースコアを<-
. 私にとっての例は、空間統計の実装でした。当時、S 空間統計パッケージは約 8 年前のもので、更新はありませんでした。R にはいくつかのパッケージが用意されており、新しい研究のほとんどは R 用に実装されているように見えました (学者にとって無料は大いに役立ちます)。
S-Plus には巨大な GUI フロントエンドがあり、表向きはそれがいくつかの高額な値札の理由です。ただし、私の S の経験は現在、いくつかのバージョンが古いです。
回答に関する最初の FAQ を読み過ぎた場合、R FAQには、S の R 実装の詳細に関する詳細が記載されています。
私がバージョン 8 の時点で間違っていなければ、SPLUS は R と互換性があり、R ライブラリを SPLUS で使用できるようになりました。
もう 1 つの違いは、スコープ規則です。R はレキシカル スコープを使用しますが、SPLUS によって実装されている S は動的スコープを使用します。これにより、R はより関数型言語になりますが、すべてのオブジェクトはメモリ内に存在します。私の記憶が正しければ、SPLUS では、ワークスペース内のオブジェクトとハードディスク上のオブジェクトの間に 1:1 の対応関係があります。これにより、SPLUS は遅くなりますが、より大きなデータ セットを処理しやすくなります。