home > 統計解析のTips > SPSSとRを連携させる方法

SPSSとRを連携させる方法 (最終更新 2018年1月1日)


概要

 SPSS18以降のバージョンでは、Essentials for R (Essentials and Plugins for Rと表記することもある) というプラグインをインストールすることで、SPSSからRを呼び出して使用することができます。SPSSとRを連携させる手順はおよそ以下の通りになります。

  1. IBM IDとパスワードを入手する
  2. フィックス (Fix) を入手する
  3. Essentials for Rを入手する
  4. Rを入手する
  5. フィックスをインストールする
  6. Rをインストールする
  7. Essentials for Rをインストールする
  8. SPSSからRを呼び出して分析できるかを確認する

 以下では、SPSS19以降のバージョンについて、SPSSとRを連携させる手順を記述します。SPSS18でも基本的には以下と同様の手順になりますが、途中、Essentials for Rの入手方法が異なります。また、Windows系のPCで作業することを想定して記述していますが、MacやLinuxなどでも基本的には同じ手順となります。


IBM IDとパスワードを入手する ページ上部の概要に戻る

  1. IBM IDとパスワードを入手します。SPSSをインストールした時などにIBM IDとパスワードを入手済みの人は、次の「フィックス (Fix) を入手する」に進みます。IBM IDとパスワードを入手するために、まず「My IBM」のページ右上にある人型マークをクリックし、出てきたプルダウンメニューの中から「My IBM」をクリックします。移動したページ内で「新規作成しますか? IBMid を作成します。」をクリックし、さらに移動したページ内で必要事項を入力し、任意のIBM IDとパスワードを登録します。

フィックス (Fix) を入手する ページ上部の概要に戻る

  1. 「My IBM」のページ右上にある人型マークをクリックし、出てきたプルダウンメニューの中から「サインイン」をクリックします。移動したページ内でIBM IDとパスワードを入力すると、「My IBM」のページ右上にある人型マークが変わり、ログインできたことがわかります。
  2. SPSSを最新のバージョンに更新するためのフィックス (Fix) を入手します。フィックスは以前はパッチ (Patch) と呼ばれていたものです。「My IBM」のページ上部の「サポート」をクリックし、移動したページ内のメニューの中から「Fix Central」をクリックします。
  3. 移動したページ内で「製品の選択」タブを選択し、「製品グループ」プルダウンメニューの中から、「SPSS」を選択します。
    「以下から選択 SPSS」というプルダウンメニューが追加されるので、その中から「IBM SPSS Statistics」を選択します。
    「インストール済みバージョン」というプルダウンメニューが追加されるので、現在のSPSSのバージョンを選択します。
    「プラットフォーム」というプルダウンメニューが追加されるので、使用しているPCのOSを選択します。
    「次へ進む」をクリックします。
  4. 移動したページ内で「フィックスの参照」のラジオボタンにチェックを付けて、「次へ進む」をクリックします。
  5. 移動したページ内に複数のフィックスが表示されるので、必要なフィックスのラジオボタンにチェックを付けて、「次へ進む」をクリックします。通常の個人ユーザであれば、「Statistics Client」という表示のあるフィックスを選択すれば問題ないはずです。
  6. 移動したページでダウンロード・オプションの選択をします。ここでは「ブラウザー (HTTPS) を使用したダウンロード」を選択し、「次へ進む」をクリックします。
  7. 移動したページでフィックスをダウンロードします。リンクをクリックするとポップアップ画面が出て、ファイルを保存するかを聞かれるので、任意のフォルダに保存します。

Essentials for Rを入手する ページ上部の概要に戻る

  1. IBMのdeveloperWorksのページに移動し、ページ内の「Download materials for IBM SPSS Statistics」をクリックします。
  2. 移動したページ内で「The Essentials for R for Statistics versions 19 and later」をクリックします (使用しているSPSSのバージョンが18の場合は、「Plugins for Version 18 for R」をクリックします。sourceforgeのサイトに移動するので、使用しているPCのOSと合致するEssentials for Rをダウンロードします)。
  3. 移動したページ内でIBM IDとパスワードを入力し、「Sign in」をクリックします。
  4. 移動したページ内に複数のファイルが表示されるので、使用しているSPSSのバージョンと合致するEssentials for Rのラジオボタンにチェックを付けて、「continue」をクリックします。
  5. 移動したページ内で「I agree」にチェックを付けて、「I confirm」をクリックします。
  6. 移動したページ内で「Download using http」をクリックした後に、使用しているPCのOSと合致するInstallation InstructionsおよびEssentials for Rをダウンロードします。リンクをクリックするとポップアップ画面がでて、ファイルを保存するかを聞かれるので、任意のフォルダに保存します。

Rを入手する ページ上部の概要に戻る

  1. RはR cranからダウンロードすることができます。ダウンロードすべきRのバージョンについては、先ほど入手したInstallation Instructionsファイルを解凍すると生成されるpdfファイルに記載があります。SPSSのバージョンおよびOSの種類に合わせて、入手すべきRのバージョンが異なるので注意してください。また、64ビットOSを使用している場合は、32ビットと64ビットの両方のバージョンのRが必要になることがあります。

フィックスをインストールする ページ上部の概要に戻る

  1. 上記で入手したフィックスをインストールして、SPSSを最新の状態に更新します。Windows XPの場合、保存したフィックスをダブルクリックしてインストールを実行します。Windows Vista、Windows 7、Windows 8、Windows 10の場合、保存したフィックスを右クリックで選択して、表示されたプルダウンメニューから「管理者として実行(A)」を選択しインストールを実行します。基本的には指示に従って進めばフィックスのインストールが完了し、SPSSが最新の状態に更新されます。

Rをインストールする ページ上部の概要に戻る

  1. 上記で入手したRをインストールします。Rのインストール方法については、ウェブ上に数多くの情報がありますので、それらを参照してください。基本的には指示に従って進めばRのインストールが完了します。

Essentials for Rをインストールする ページ上部の概要に戻る

  1. 上記で入手したEssentials for Rをインストールします。Windows XPの場合、保存したEssentials for Rをダブルクリックしてインストールを実行します。Windows Vista、Windows 7、Windows 8、Windows 10の場合、保存したEssentials for Rを右クリックで選択して、表示されたプルダウンメニューから「管理者として実行(A)」を選択しインストールを実行します。基本的には指示に従って進めばEssentials for Rのインストールが完了し、SPSSからRを呼び出せるようになります。なお、ごくまれに、インストールが途中でストップすることがあります。その場合には、開いているインストール画面をすべて閉じた後に、上記の手順で再度Essentials for Rのインストールを実行してください。

SPSSからRを呼び出して分析できるかを確認する ページ上部の概要に戻る

 Essentials for Rが無事インストールされ、SPSSからRを呼び出せるようになったかを確認します。以下では試みに、重回帰分析 (最小二乗法) をRに計算させて、その結果をSPSSのビューア画面に表示させてみます。
 データは、SPSSインストール時に同時にインストールされる「Employee data.sav」を使用します。このデータをC:\tempというフォルダに格納しているという前提で、SPSSのシンタックスエディタに以下のようなコードを記述します (なお従属変数、独立変数は適当に選択しています)。



  GET FILE='C:\temp\Employee data.sav' .
  COMPUTE lnsalary=ln(salary) .
  VARIABLE LABELS lnsalary 'ln (Current Salary)' .
  IF (gender='m') female=0 .
  IF (gender='f') female=1 .
  VARIABLE LABELS female 'Female' .
  BEGIN PROGRAM R .
    temp <- spssdata.GetDataFromSPSS()
    fit <- lm(lnsalary ~ female + educ + jobtime, data=temp)
    summary(fit)
  END PROGRAM .
  

 「BEGIN PROGRAM R .」で始まり「END PROGRAM .」で終わるブロック内が、Rのコードで記述する領域となります。上記のコードを実行すると、SPSSのビューア画面に下記のような結果が表示されます。



  Call:
  lm(formula = lnsalary ~ female + educ + jobtime, data = temp)
  
  Residuals:
      Min      1Q  Median      3Q     Max
  -0.6037 -0.1813 -0.0185  0.1565  0.8912
  
  Coefficients:
               Estimate Std. Error t value Pr(>|t|)
  (Intercept)  9.237944   0.116848  79.060   <2e-16 ***
  female      -0.243610   0.025823  -9.434   <2e-16 ***
  educ         0.080688   0.004458  18.100   <2e-16 ***
  jobtime      0.001742   0.001197   1.455    0.146
  ---
  Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  
  Residual standard error: 0.2613 on 470 degrees of freedom
  Multiple R-squared: 0.5703, Adjusted R-squared: 0.5676
  F-statistic: 207.9 on 3 and 470 DF,  p-value: < 2.2e-16
  

 もし上記のような出力結果が得られない場合、Essentials for Rのインストールは失敗しています。手順を再度確認してみてください。
 なお、上記のRの出力結果と、上述のデータを用いてSPSSで重回帰分析を実行した場合に得られる出力結果 (下記) を比較すると、(当然ですが) 一致していることが確認できます。



  REGRESSION
    /STATISTICS COEFF R
    /DEPENDENT lnsalary
    /METHOD=ENTER female educ jobtime .

  モデル      R    R2乗    調整済みR2乗    推定値の標準誤差
  1        .755    .570            .568              .26128

                                標準化されていない係数  標準化係数
  モデル                                 B    標準誤差      ベータ       t値  有意確率
  1  (定数)                          9.238        .117                79.060      .000
     Female                          -.244        .026       -.306    -9.434      .000
     Educational Level (years)        .081        .004        .586    18.100      .000
     Months since Hire                .002        .001        .044     1.455      .146
  

備考 ページ上部の概要に戻る

 以上で記述した手順は、作業の途中で入手したInstallation Instructionsファイルを解凍すると生成されるpdfファイルに記載されている内容と、基本的には同一のものです。このpdfファイルがもっとわかりやすい場所に置いてあればよいのですが、上記で見た通り、非常にわかりにくい場所にありますので、手順について整理した次第です。
 SPSSとRが連携することで、データの成形や加工をSPSSで行った後に、Rを呼び出して分析し、結果を得る、といった作業をシームレスに行うことができるようになります。
 なお、Essentials for Rをインストールすると、SPSSのメニューバーの「分析(A)」の中に、「Tobit回帰」(トービット・モデル、Type I tobit) など、いくつかの分析手法が追加されます。これらの分析手法を使用する目的で、Essentials for Rをインストールするのもよいかもしれません。
 上記作業の作業環境は、Windows 10 Pro (64ビット)、SPSS statistics 24 (Release 24.0.0.0)、R 3.2.2です。SPSSやRのバージョンによっては、出力結果のレイアウトが多少異なる場合があります。



home > 統計解析のTips > SPSSとRを連携させる方法

Copyright© 2006-2018, Takehisa SHINOZAKI
All Rights Reserved