web-dev-qa-db-ja.com

RとSPSSの違い

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

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

36
sfactor

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

  1. テーブルの出力-SPSSには基本的なテーブル、一般的なテーブル、カスタムテーブルなどがあり、それらはすべてその気の利いたデータビューアーまたはそれが呼び出すものに出力されます。これらは、さらなる分析/プレゼンテーションのために、Word文書またはExcelシートに比較的簡単に転送できます。 Rの同等の機能には、LaTexの学習、またはodfWeaveまたはLyxまたはその性質の使用が含まれます。
  2. データのラベル付け-> SPSSは、変数ラベルと値ラベルで非常に優れた仕事をします。 Rがこれと同じタスクを実行するための堅牢なソリューションは見つかりませんでした。
  3. あなたはあなたの仕事の大部分をスクリプティングするつもりであると言いますが、個人的にはSPSSのスクリプティング構文は恐ろしく、可能な限りSPSSでの作業をやめるようになりました。 R構文ははるかに論理的であり、プログラミング標準に厳密に従っています。また、トラブル(SOなど)に遭遇した場合に依存する非常に活発なコミュニティがあります。問題が発生したときの質問をする良いSPSSコミュニティが見つかりませんでした。

他の人は、プログラムのコストと機能の面で大きな違いのいくつかを指摘しています。あなたが他の人と協力しなければならない場合、あなたがグループ内で将来あなたが書いたスクリプトを編集したり編集したりできるのはあなただけではないので、SPSSまたはRとの彼らの快適さのレベルは重要な役割を果たすでしょう。

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

34
Chase

しばらく前にR-helpメーリングリストに投稿したものがありますが、RとSPSSの一般的な違いの概要を十分に説明できると思います。

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

バスは非常に使いやすく、乗るバス、乗車する場所、降車する場所を知る必要があります(料金を支払う必要があります)。一方、車にはより多くの作業が必要であり、何らかのタイプのマップまたは方向が必要です(マップが頭にある場合でも)、時々ガソリンを入れる必要があります。道路(ある種の運転免許証を持っている)。車の大きな利点は、バスが行かない場所をたくさん持って行くことができ、バス間で乗り換えを必要とするいくつかの旅行のために速くなることです。

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

Rは4輪駆動のSUV(環境にやさしい)で、背面に自転車、上部にカヤック、歩行者用シートに優れたウォーキングシューズとランニングシューズ、背面に登山用具と飛び込み用具があります。

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

RのGUIを使用すると、使いやすくなりますが、使用できる機能が制限されます。 SPSSには単なるバスである以上のスクリプトがありますが、SPSSの一般的な物理学は、スクリプトではなくGUIに人々を誘導します。

35
Greg Snow

SPSSの初期ワークフローには、大きな太った小切手を書くことの正当化が含まれます。 Rは自由に利用できます。

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

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

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

しかし、あなたはあなたの電話を知っています...

23
Spacedman

さて、あなたはまともなプログラマーですか?もしそうなら、Rを学ぶ価値があります。SPSSを使用するよりも、操作と統計モデリングの両方の面でデータを使用してより多くのことを行うことができ、グラフも良くなるでしょう。一方、以前に実際にプログラミングしたことがない場合、または数か月かけてプログラマーになるのが怖いという考えを見つけた場合は、おそらくSPSSからより多くの価値が得られるでしょう。本格的なプログラミング言語としての力に飛び込むことなくRでできることのレベルは、おそらく努力を正当化するものではありません。

別のオプションがあります-共同作業。 Rをよく知っている、あなたのプロジェクトで一緒に働くことができる誰かを知っていますか(アカデミックなのか業界なのかは言いませんが...)。

8
Harlan

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

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

6
Richie Cotton

私は会社の両方で働いており、次のように言うことができます:

  • さまざまな人々(すべてのデータサイエンティストではない)の大規模なチームがある場合、SPSSはわかりやすい(比較的)ので便利です。たとえば、ユーザーがモデルを実行して出力(売上予測など)を取得する場合、SPSSは明確で使いやすいです。

とはいえ、Rは他のほとんどすべての意味で優れていると感じています。

  • Rはより高速です(ただし、時には議論の余地があります)
  • 前に述べたように、SPSSの構文は素晴らしいです(これを十分に強調することはできません)。一方、Rを学ぶのは苦痛かもしれませんが、オンラインには膨大なリソースがあり、最終的には、さまざまなことができるため、より多くのリソースを支払うことになります。
  • 繰り返しになりますが、他のみんなが言うように、空はRの限界です。パッケージ、リソース、そしてもっと重要なのは、あなたが好きなようにやることです。私の組織には、非常に高度な機能がいくつかあります。難しいのは、一度作成することですが、その後、SPSSが終わることのないキャンバスのウェブで絡まる複雑なタスクを実行します。これは、ループなどの場合に特に当てはまります。

しばしば見落とされがちですが、Rはチーム間で連携するための多くの機能も備えています(gitStudioとRStudioの統合、devtoolsを使用した簡単なパッケージ構築)。

実際、組織内の全員がRを知っている場合、必要なのは、すべてを共有するためにgithubで基本パッケージを維持することだけです。もちろんこれは標準ではないため、SPSSは最悪の製品ですが、まだ市場があると思います。

4
eflores89

私はそれについてのデータを持っていませんが、私の経験から私はあなたに一つのことを伝えることができます:

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

違いの大きさは、おそらく C++とR の間の大きさと同じです。

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

無関係なサイドノートとして:私の目では、Rの速度に関する最近の議論で、この点は何らかの形で見落とされていました(すなわち、SPSSとの比較)。さらに、この議論がしばらくの間浮かび上がり、静かに再び姿を消したことに驚いています。

3
Henrik

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

2
BI_Nerd

上記のいくつかの素晴らしい反応がありますが、私は私の2セントを提供しようとします。私の部門は、私たちの仕事をSPSSに完全に依存していますが、ここ数か月、Rを学ぶための意識的な努力を続けています。部分的には、上記のいくつかの理由(速度、膨大なデータ構造、利用可能なパッケージなど)のため

とはいえ、ここでいくつかのことを取り上げました。

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

  2. SPSSはスクリプト作成時に遅くなるように見えますが、はい、SPSS構文はひどいです。そうは言っても、SPSSのスクリプトは常に改善できますが、EXECUTEコマンドは慎重に使用する必要があることがわかりました。

  3. SPSSとRは相互にインターフェースできますが、一方向であるように見えます(SPSS内でRを使用する場合のみで、逆ではありません)。そうは言っても、ggplot2を使用したい場合や、その他の高度なデータ管理技術を使用したい場合以外は、ほとんど役に立たないことがわかりました。 (私はSPSSマクロを軽deしています)。

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

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

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

2
Btibert3

@ Henrik、SPSSで( C++ and 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.
1
djhurio

SPSSとR ...

リンク

http://bluemixanalytics.wordpress.com/2014/08/29/7-good-reasons-to-combine-ibm-spss-analytics-and-r/

互換性のあるRのコピーがインストールされている場合、IBM SPSS Modelerから接続して、IBM SPSS ModelerにデプロイできるカスタムRアルゴリズムを使用してモデルの構築とモデルのスコアリングを実行できます。 IBM SPSS Modeler-Essentials for Rのコピーもインストールする必要があります。 IBM SPSS Modeler-Essentials for Rは、IBM SPSS Modelerで使用するカスタムRアプリケーションの開発を開始するために必要なツールを提供します。

0
aruizga