目次
なぜかSPSS17.0でRが使える。(本当は16から使えるらしい)
SPSSが何故このようなことをやりだしたのかは不明だが、Rユーザーの裾野を広げるためには有効だと思う。(本気?)
さあ!SPSSを使っているみなさん、心置きなくRを使いましょう!
メリット†
- SPSS Baseのみで、SPSSの高価な(無駄な?)オプションを買わなくても、無料のRで代用できる。
- SPSSで空間統計ができる(結局Rだが)
コメント(最新)†
- ソフトを切り替えずに(手動でRを起動せずに)モザイクプロットなんかを作れて便利ですね。しかし、SPSSの出力画面に表示されるRのグラフはビットマップ画像でしょうか。印刷用メタファイルを得るためには、結局Rを手動で起動してグラフを作成するしかないという認識でただしいでしょうか? -- K
- R2.9.1ではインストールさせてもらえず...2.7.2に戻してようやくインストールできました。 -- inoue
- SPSSも地に落ちたもんですね。流石にがっかり。ところで、\の問題は解決してるんですかね? -- okinawa
- SPSS Ver.18 に R 本体とR 統合モジュールを付けてリリース!! --
- Gene.spdをほんの少し改良しました。自動でC:/にフォルダを作成します。説明不足でしたが現在の所、データ解析可能数は約7000までとなっています。luchama
- いろいろな業界でマイクロアレイ解析の機会が増えていると思います。CELさえ手に入れれば自分で解析できます。SPSSでもできるよう例としてspdを作りました。皆様のアドバイスを頂きよりよいものを作成したいと思います。ちょっと工夫すれば高い費用を掛けずに解析ができます。 -- luchama
- SPSSのシンタックスでファイルパスに/を使えれば問題ないのに・・・。Mac版は持っていないですが、Mac版だとそのままいけるかもしれませんね。 -- okinawa
- バックスラッシュの問題は要求はしてますが、なかなか改善されません。 -- luchama
- dataframeのObject構造から自動的にdictを作成する関数が作れればいいですよね。SPSSのRplugin作っている人へ要求したほうがいいかも。(バックスラッシュの問題も) -- okinawa
- コメントありがとうございます。やはりdictをいじるしかなさそうですね。読み込みは簡単なのに・・・残念。 -- luchama
- SPSS Statistics-R Integration Packageに書いてあります。 -- okinawa
BEGIN PROGRAM R.
dict <- spssdictionary.GetDictionaryFromSPSS()
print(dict)
casedata <- spssdata.GetDataFromSPSS()
varSpec <- c("meansal","Mean Salary",0,"F8","scale")
print(varSpec)
dict <- data.frame(dict,varSpec)
print(dict)
spssdictionary.SetDictionaryToSPSS("results",dict) <=ここ
casedata <- data.frame(casedata,mean(casedata$salary))
spssdata.SetDataToSPSS("results",casedata) <=ここ
spssdictionary.EndDataStep() <=ここ
END PROGRAM.
spssdictionary.SetDictionaryToSPSSとspssdictionary.EndDataStepではさまれた部分でspssdata.SetDataToSPSSを実行するのではないでしょうか。dictにSPSS用のテーブルのフォーマットを記述して(変数ビューの中身)、ウインドウ名(ここではresult)といっしょに渡し、次にデータフレームを書いて、EndDataStepでクローズする。
新規にSPSSにデータフレームを渡す場合には、dictをデータフレームにあわせて作るしかないですね。
- Rのデータフレームを新規にSPSSに取り込む方法がいまひとつわからない -- luchama
- luchamaさん、一人でやるのはなかなかつらいので助かります。luchamaさんが書かれたコードも勉強させていただきます。よろしければ、色々追加・変更していただいてもかまいませんので今後ともよろしくお願いします。 -- okinawa
- SPSS with R 改め luchamaです。ヒートマップ作成spdを追加しました。解析内容はかなり偏っていると思いますが、コマンドの改変で対応できると思います。SPSSとRの連携に関して何かお手伝いできればと思います。 -- luchama
- ↓すごい! -- okinawa
- マイクロアレイのヒートマップ作成spdを追加 -- SPSS with R
- SPSSで地図表示追加 -- okinawa
- 内容追加 -- okinawa
- SPSSでファイルを開きRにデータを転送するサンプル追加 -- okinawa
- SPSSシンタックスの%%識別子%%理解しました。結局コントロールで取得したパラメータの値を保持していて、シンタックスに埋め込めるというだけですね。コマンドシンタックスは昔とった杵柄なのでOKと。 -- okinawa
- spss17来た。あーコマンドシンタックスめんどくさ. だれかご存知の方いませんか?-- okinawa
- SPSS17.0のバージョンアップに伴い、プラグインもバージョンアップしています。バージョンアップの内容は不明。 --
- もうすぐSPSS17が手に入りそうだ・・・。もちろん自腹ではない。手に入ったら、こちらも充実させようと思う。たのしみたのしみ・・・。 -- okinawa
SPSSトライアルバージョン(英語版)/ Rpluginのダウンロード†
SPSS(US)でspss17.0のトライアルバージョンを手に入れることができる(要登録)。
また、Rpluginは無償で公開されている。
SPSS:http://www.spss.com/downloads/Papers.cfm?ProductID=00035&Name=SPSS_Base
Rplugin:http://www.spss.com/devcentral/index.cfm?pg=plugins
ダウンロードしたファイルをそのままインストールする。(SPSSを先にインストールしないと、Rpluginはインストールできない)
利用(基本)†
(1)SPSS起動
SPSS起動後、ダイアログが出るので[キャンセル]を押すと、データエディタ画面になる。
(2)シンタックス
シンタックスとは、Rコンソールのようなものです。
SPSSカスタムダイアログ†
SPSSのカスタムダイアログビルダーで簡易なGUIプログラムが作成できる。プログラムはSPSSシンタックスに%%識別子%%で取得したパラメータを組み合わせたもので、本格的なものは作れない。(カスタムダイアログの作成はマニュアルを参照してください)
以下は、カスタムダイアログのサンプル(*.spd)です。インストールは、ユーティリティのカスタムダイアログのインストールで行ってください。ユーティリティ内にインストールされます。
SPSSでファイルを開きRにデータを転送するサンプル†
ダイアログとファイルブラウザコントロールのみ使用。起動するコマンドシンタックスは以下の通り。
GET FILE=%%item_7%%.
BEGIN PROGRAM R.
casedata <- spssdata.GetDataFromSPSS()
plot(casedata[1:2])
END PROGRAM.
%%item_7%%がファイルブラウザコントロールから受け取るパラメータ(読み込むファイルのパス)
注意)現在、%%item_7%%をR内で使おうとすると¥がうまく処理できないためエラーとなる。元々、SPSSシンタックスのファイルパスのセパレータは/じゃなかったの?
この辺はRpluginのパッケージで関数作ってなんとかして欲しいところ。
- ユーティリティに追加されたところ
- 実行
- 任意のsavをロードしてデータフレームの1と2でプロット(もちろん日本語もOK)
- カスタムダイアログの内部構造
*ダイアログ設定画面
*コントロール
*シンタックス
SPSSで地図表示†
SPSSでできないものに空間統計があるが、Rではお手の物。
空間的なデータの分析の地図作成練習用データからGISdata.zipをダウンロードし、C:直下に解凍する。 C:/GISdata となるように。
任意のShapeFileのパスを指定してプロット
マイクロアレイのヒートマップ作成†
SPSSではできない、マイクロアレイデータのヒートマップ表示。
spdを実行する前にRで以下のコマンドを実行
install.packages(c("gplots","amap","RColorBrewer"))
source("http://bioconductor.org/biocLite.R")
biocLite(c("Heatplus", "genefilter"))
結果はC:/遺伝子解析結果に出力可能。
CELファイルの正規化†
・チップはAffymetrix GeneChip mouse430 2を想定
・MAS5後に結果を列ごとにmedianで割りLog2に数値化
・正規化手法を変更する場合はコード内の"MAS5"を変更してください
・EntrezおよびGenesymbolをアノテーション
・結果は解析フォルダ内にcsvで出力
・メニューの場所:分析-GeneCEL
注意
解析フォルダを選択する際には手入力で"\"を"/"に変更して下さい。
変更しないとエラーになります。また、解析には時間がかかります。
spdを実行する前にRで以下のコマンドを実行
source("http://bioconductor.org/biocLite.R")
biocLite(c("affy", "mouse4302.db", "mouse4302cdf"))
ファイルは例として次からダウンロード
解凍せずにそのまま使用可能
ftp://ftp.ncbi.nih.gov/pub/geo/DATA/supplementary/samples/GSM160nnn/GSM160432/GSM160432%2ECEL%2Egz
ftp://ftp.ncbi.nih.gov/pub/geo/DATA/supplementary/samples/GSM160nnn/GSM160435/GSM160435%2ECEL%2Egz
SPSSのデータセットからR側にデータを取り込む†
SPSSのデータセットからR側にデータを取り込むには、spssdata.GetDataFromSPSS()関数を使う。
BEGIN PROGRAM R.
casedata <- spssdata.GetDataFromSPSS()
print(casedata)
END PROGRAM.
とりこまれたデータは、自動的にdata.frameになっています。
補足:カスタムダイアログ、例えばテキストボックスから値をR側に取り込むにはテキストボックスに指定した識別子を%%で囲んで記述する。
- Get information about data files in the current SPSS Statistics session
spssdata.GetCaseCount
spssdata.GetDataSetList
spssdata.GetSplitVariableNames
spssdictionary.GetDataFileAttributeNames
spssdictionary.GetDataFileAttributes
spssdictionary.GetDictionaryFromSPSS
spssdictionary.GetMultiResponseSetNames
spssdictionary.GetMultiResponseSet
spssdictionary.GetUserMissingValues
spssdictionary.GetValueLabels
spssdictionary.GetVariableAttributeNames
spssdictionary.GetVariableAttributes
spssdictionary.GetWeightVariable
spssdictionary.IsWeighting
spssxmlworkspace.CreateXPathDictionary
spssxmlworkspace.EvaluateXPath
- Get data from the active dataset and create new datasets
spssdata.GetDataFromSPSS
spssdata.GetSplitDataFromSPSS
spssdata.SetDataToSPSS
spssdictionary.CreateSPSSDictionary
spssdictionary.SetDataFileAttributes
spssdictionary.SetDictionaryToSPSS
spssdictionary.SetMultiResponseSet
spssdictionary.SetUserMissing
spssdictionary.SetValueLabel
spssdictionary.SetVariableAttributes
- Create pivot tables
spsspivottable.Display
- Get output results
spssxmlworkspace.EvaluateXPath
- Control Display of R Graphics
spssRGRaphics.Submit
spssRGRaphics.SetOutput
- Get version information
GetSPSSPlugInVersion
GetSPSSVersion
spsspkg.Version
- Locale and Output Language Settings
GetSPSSLocale
SetOutputLanguage
その他†
Rpluginをインストールすると、Rのライブラリフォルダにspss_17.0なるものが作成される。ただし、このパッケージはRからは呼び出すことはできない。
参考リンク†
コメントバックアップ1†
- R and SPSS によると、上にあるプラグイン"SPSS-R integration Plug In"が使えるって?
- SPSS クローン、PSPP で、R を呼び出せないかな。
- 表から引っ越ししてきました。 -- okinawa
- 個人的には、Rでサンプルサイズ1億以上のデータを扱えるなら、SASなんか使いませんよ. --
- ff packageとか使っても1億以上のデータは扱えないのでしょうか? -- okinawa
- サンプルサイズが1億とはいっても,変数の数がいくつかで可否は分かれるのでは。変数も1万とか1億じゃ無理でしょ(^_^;)まあ。計算時間はおいておくとしましょう。 --
- 本当なら、Enterprise R とか Standard R とか、利用者のタイプでのランク分けが必要なんでしょうね。 -- okinawa
- UseR!2008でもGUI部分の発表がいくつもありましたが、決定打は、なかなかないですね。RのRによるRのためのGUIがでてこないかな〜。 -- okinawa
- どんな場合にもRを使いましょうということ自体硬直しているんで,目的・場合に応じて,ふさわしいものを使えばよいだけでしょう。自分の用途でRが使える使えないといっても,意味ない。あなたがRは駄目だと思えばそうなんだし,Rが最高と思えばそうなんだし。Rを支持する人の割合が重要なんでしょう。 --
- そういう意味では、SPSSや他の統計分析ソフトででRが使えるようになるのは、R支持者を広めるのには役立つと思うのでOKと。お騒がせしました。 -- okinawa
- つまり, RにGUIを付けたとすれば, ヘルプ機能には冴子先生ならぬリプリー先生がついて来る訳ですね. わかります.:-) -- なかま
- うっ、偉すぎる。R女史っていないのでしょうか? --
- 冴子先生 って誰? --
- http://www.wdic.org/w/MOE/%E5%86%B4%E5%AD%90%E5%85%88%E7%94%9F --
- SPSS17からRの使い方がいまひとつわからん。 --
- SPSS17が手元にないので想像の域を出ませんが、R pluginを入れてカスタムダイアログビルダーで画面を作るんじゃないでしょうか。 -- okinawa
- SPSS17からRが使えました。図の出力等に便利です。コマンドの受け渡しはシンタックスから簡単におこなえます。これで、オプションの購入が必要なくなるかも? --
- できましたら、利用方法などを公開していただけませんでしょうか?よろしくお願いします。 -- okinawa
- SPSS17からRの使い方簡単なまとめ
�SPSS Statistics Base via R pluginの対応するR2.7をインストール �http://www.spss.com/devcentral/にアクセスしSPSS Statistics Base via R pluginをダウンロードしインストール
これで、SPSSのシンタックスから使えるようになります。
Rを呼び出すコマンドはSPSSのシンタックスに "BEGIN PROGRAM R. ・・・・ End PROGRAM" と記述することで可能です。
Rのコマンドは・・・・の所に記述することにより使用可能です。
使い始めたばかりですが、Rを呼び出すコマンドの前にspssのコマンドを記述することにより、高度な連携が可能です。もちろん、ダイアログに登録し使うことができます。Rを簡単にGUIで使用でき感動です。 -- SPSS with R
- Oops! 信頼できない証明書を受け入れてはいけない... -- 匿名希望
- ありがとうございました。 -- okinawa
- どうやら、対応するRのバージョンはプラグインをインストールする際にRのフォルダを指定すれば、2.70以外でも動きます。 -- SPSS with R
- spss17の現物を持ってないので、トライアルバージョンで試してみました。簡単にできますね。 -- okinawa
- でもTinn-Rを使ってるので、なんか違和感ありますね。SPSSの「きもい」動きも昔のまま。 -- okinawa
- これで、SPSSで空間統計が利用できるようになった(上に書いてあるけど)。SASには地球統計があるけど --
- おお!そうじゃった。ちゃんとmaptoolsも使えるではないか。 -- okinawa
- だんだん慣れてきたら、結構つかいやすいのう。でもSPSSは高いのう。 -- okinawa
- しかし、これでは、SPSS のオプション統計パッケージの販売に影響が出るのでは? -- 秋の夕暮れ
- 日本語もちゃんと通りますね。 -- okinawa
- 日本語版のSPSS17でも動作するのでしょうか? --
- 日本語版で使用できますよ。もちろん日本語も通ります。 -- SPSS with R
- SPSS with R さん、ご親切にありがとうございます。 --
- この際、SPSS のオプション統計パッケージのR版のプログラムを公開するとか。(なんか本書けそうですね。どなたかやられてみてはいかがでしょうか。SPSS経由でRに引きずり込むと。) -- okinawa
- SPSS&R使って思ったのですが、SPSSは結局のところDataEditor(Excel似)から統計機能が使えるようになってるだけですね(SAS-JMPもそうだし)。もしかして、RにDataEditorの「すごいの」があればいいのかもしれない。 -- okinawa
アクセス数:†
35470
人