36

まもなく膨大な量のネットワーク トラフィック関連データを分析し、分析のためにデータを前処理します。R と SPSS は、統計分析の最も一般的なツールの 1 つです。また、非常に多くのグラフやチャートを生成します。したがって、これら 2 つのソフトウェアの基本的な違いは何だろうと考えていました。

どちらが優れているかを尋ねているわけではありませんが、2 つのワークフローの違いを知りたかっただけです (SPSS には GUI があるという事実以外に)。とにかく、どちらの場合でも主にスクリプトで作業するので、他の違いについて知りたいと思いました。

4

12 に答える 12

35

しばらく前に R-help メーリング リストに投稿したものを次に示しますが、R と SPSS の一般的な違いの概要がよくわかると思います。

コンピュータ ソフトウェアの使いやすさについて話すとき、私は車とバスの例えが好きです。

バスの使い方はとても簡単です。どのバスに乗り、どこで乗り、どこで降りるかを知るだけです (料金を支払う必要があります)。一方、車はもっと多くの作業を必要とし、何らかの地図や道案内が必要で (地図が頭の中にある場合でも)、時々ガソリンを入れる必要があり、車のルールを知る必要があります。道路(何らかの種類の運転免許証を持っている)。車の大きな利点は、バスが行かない多くの場所に行くことができることと、バス間の乗り換えが必要な旅行の場合はより速く移動できることです。

この類推を使用すると、SPSS のようなプログラムはバスであり、標準的なものには使いやすいですが、まだ事前にプログラムされていないことをしたい場合は非常にイライラします。

R は 4 輪駆動の SUV (ただし環境に優しい) で、後ろには自転車、上にはカヤック、助手席にはウォーキングとランニング シューズ、後ろには登山と洞窟探検のギアがあります。

R は、時間をかけて機器の使用方法を習得すれば、行きたい場所に連れて行ってくれますが、SPSS でバス停がどこにあるかを習得するよりも時間がかかります。

R を少し使いやすくするための GUI がありますが、簡単に使用できる機能も制限されます。SPSS には、単なるバスを超えたスクリプトがありますが、SPSS の一般的な哲学は、人々をスクリプトではなく GUI に誘導します。

于 2010-09-24T19:22:53.313 に答える
34

私は、データ分析の大部分に SPSS を使用している会社で働いていますが、さまざまな理由から、R を使用して自分自身の分析を行うようになりました。私が遭遇した最大の違いのいくつかは次のとおりです。

  1. テーブルの出力 - SPSS には基本的なテーブル、一般的なテーブル、カスタム テーブルなどがあります。これらはすべて、気の利いたデータ ビューアーまたは彼らが呼ぶものに出力されます。これらは、さらなる分析/プレゼンテーションのために、Word ドキュメントまたは Excel シートに比較的簡単に転送できます。R の同等の機能には、その性質のまたはまたは何かを学習LaTexまたは使用することが含まれます。odfWeaveLyx
  2. データのラベル付け --> SPSS は、変数ラベルと値ラベルをうまく処理します。R がこれと同じタスクを達成するための堅牢なソリューションは見つかりませんでした。
  3. あなたは、自分の仕事のほとんどをスクリプト化する予定だとおっしゃいましたが、個人的には、SPSS のスクリプト構文はまったくひどいものであり、可能な限り SPSS を使用するのをやめたほどです。R 構文ははるかに論理的で、プログラミング標準に厳密に従っているように見えます。また、問題が発生した場合に頼れる非常に活発なコミュニティがあります (たとえば、SO)。問題が発生したときに質問できる良い SPSS コミュニティが見つかりません。

他の人は、プログラムのコストと機能の面でいくつかの大きな違いを指摘しています. 他の人と共同作業する必要がある場合は、SPSS または R に対する彼らの快適さのレベルが重要な要素になるはずです。将来、自分が書いたスクリプトに取り組んだり、編集したりできるグループ内の 1 人だけになりたくないからです。

R を学習する場合は、統計情報交換 Web サイトのこの投稿に、R を学習するための優れたリソースがたくさんあります: https://stats.stackexchange.com/questions/138/resources-for-learning-r

于 2010-09-24T14:34:59.160 に答える
23

SPSS の最初のワークフローには、多額の小切手を書くことを正当化することが含まれます。R は自由に利用できます。

R には「スクリプト」用の単一の言語がありますが、そのように考えないでください。R は実際には、優れたデータ操作、統計、およびグラフィックス機能が組み込まれたプログラミング言語です。SPSS には「構文」、「スクリプト」があり、 Python でのスクリプト化も可能です。

もう 1 つの重要な点は、SPSS がデータをスプレッドシート形式のテーブル構造に圧縮することです。他のデータ構造を扱うのはおそらく非常に難しいですが、R では当然のことです。SPSS でネットワーク グラフ タイプのデータの処理をどこから始めればよいかわかりませんが、R 用にそれを行うためのパッケージがあります。

また、R を使用すると、Sweave を使用してワークフローをレポートと統合できます。プロットまたはテーブルを生成する R コードのビットが埋め込まれたドキュメントを作成し、システムを介してファイルを実行すると、レポートが PDF として出力されます。週次レポートを作成したい場合や、一連の作業を行った後で、上司から最新のデータ セットを渡された場合に最適です。再実行して読み返せば完了です。

しかし、ご存知のように、あなたの電話は...

于 2010-09-24T13:34:41.013 に答える
8

さて、あなたはまともなプログラマーですか?そうであれば、R を学ぶ価値はあります。データ操作と統計モデリングの両方の点で、SPSS よりも多くのことをデータで行うことができ、グラフも改善される可能性があります。一方、実際にプログラミングしたことがない場合、またはプログラマーになるために数か月を費やすのが怖いと思う場合は、おそらく SPSS からより多くの価値を得ることができます。本格的なプログラミング言語としての R の能力に飛び込むことなく R でできることのレベルは、おそらくその努力を正当化するものではありません。

もう 1 つのオプションがあります。協力することです。あなたのプロジェクトで一緒に働くことができる誰かを知っていますか (それが学術的か産業的かは言いませんが、どちらでも...)、R をよく知っている人はいますか?

于 2010-09-24T13:59:16.403 に答える
6

ここには、いくつかの統計ツール間の興味深い(そしてかなり公平な)比較があります

http://anyall.org/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/

于 2010-09-24T13:05:55.117 に答える
3

データはありませんが、私の経験から言えることは次のとおりです。

SPSS は R よりもかなり遅いです。(そして、たくさんとは、本当にたくさんのことを意味します)

その差の大きさは、おそらくC++ と Rの差と同じくらい大きいでしょう。

たとえば、R では数秒以上待つ必要はありません。SPSS と同様のデータを使用すると、10 分以上かかる計算がありました。

無関係な補足として: 私の目には、R の速度に関する最近の議論では、この点が見落とされていました (つまり、SPSS との比較)。さらに、この議論が一時発生し、再び静かに消えたことに驚いています。

于 2010-09-24T13:32:57.600 に答える
2

SPSS は、既存の R プログラムを簡単に統合したり、新しいプログラムを開発したりするための GUI を提供します。詳細については、IBM Developer WorksのSPSS コミュニティを参照してください。

于 2013-11-25T14:55:35.637 に答える
2

上記にはいくつかの素晴らしい回答がありますが、私は2セントを提供しようとします. 私の部署は業務を完全に SPSS に依存していますが、ここ数か月は意識的に R を学ぼうと努力しています。部分的には、上記のいくつかの理由 (速度、膨大なデータ構造、利用可能なパッケージなど) が原因です。

そうは言っても、ここに私が途中で拾ったいくつかのことがあります:

  1. プログラミングの経験がない限り、CTABLES でサマリー テーブルを作成すると、R で使用可能なオプションがすべて破棄されると思います。これまでのところ、カスタム テーブルを使用して作成できるものを複製できるパッケージを知りません。

  2. SPSS はスクリプティング時に遅いように見えます。もちろん、SPSS 構文はひどいものです。そうは言っても、SPSS のスクリプトは常に改善できることがわかりましたが、EXECUTE コマンドは控えめに使用する必要があります。

  3. SPSS と R は相互に接続できますが、それは一方向のように見えます (SPSS 内で R を使用する場合のみであり、その逆ではありません)。とは言っても、ggplot2 を使用する場合やその他の高度なデータ管理手法を使用する場合を除いて、これはほとんど役に立たないことがわかりました。(私は SPSS マクロを嫌います)。

  4. SPSS で作成された「レポート」作業は、他のソリューションよりもはるかに劣っていると長い間感じていました。前述のように、LaTex と Sweave を活用できれば、効率的なワークフローに非常に満足するでしょう。

  5. SPSS で OMS を活用することで、高度な分析を行うことができました。ほとんどすべてを新しいデータセットにルーティングできますが、ほとんどの SPSS ユーザーはこの機能を使用していないことがわかりました。また、R での例を見ると、OMS を使用するよりも「簡単」に感じます。

要するに、Rですぐに理解できないときにSPSSを使用していることに気づきますが、近い将来、SPSSから離れてRを完全に使用するつもりです。

于 2010-09-24T16:52:10.393 に答える
1

@Henrik、SPSSであなたが言及したのと同じタスク(C++ および R)を行いました。そして、これは SPSS が R に比べて高速であることがわかりました。私の場合、SPSSは約です。7倍高速。私はそれについて驚いています。

これは私がSPSSで使用したコードです。

data list free
 /x (f8.3).
begin data
1
end data.

comp n = 1e6.

comp t1 = $time.

loop #rep = 1 to 10.
comp x = 1.
loop #i=1 to n.
comp x = 1/(1+x).
end loop.
end loop.

comp t2 = $time.

comp elipsed = t2 - t1.

form elipsed (f8.2).

exe.
于 2011-01-17T11:49:45.300 に答える