目次

#contents
----

*COLOR(Blue){SIZE(20){目的}} [#q57ed30b]
statconnDCOM(旧RDCOMサーバ)およびrcomパッケージに関する情報をこちらでまとめています。~
statconnDCOMおよびrcomパッケージはCOM(ActiveXObject)を使って、Rと他のアプリケーションを連動させる仕組みです。~
COMにはサーバーとクライアントがあり、連動させるアプリケーションのどちらが親(Server)になるかで利用方法が異なります。~
他言語からRを利用する場合は、statconnDCOMを使ってください。~
Rから他言語(他アプリ)を利用する場合は、rcomを使ってください。~
関連のRExcelは、上記の機能を使って、R&RcmdrとExcelを連動させるものです。~

*COLOR(Blue){SIZE(20){ダウンロード}} [#e720e075]
statconn.com: http://www.statconn.com/~
RCOMホームページ: http://sunsite.univie.ac.at/rcom/~
[[RExcel]]に(古い)解説あり。~

*statconnDCOM : 旧R(D)COM Server [#sa558065]
**ライセンス [#i002b611]
statconnDCOMはGPLではなく、独自のライセンスとなっています。基本的には再配布の制限以外は自由です。~
追加:作者の一人Thomas Baierにライセンスについてメールで確認したところ、スプラッシュスクリーンの表示と再配布禁止、結果に「statconnDCOMを使った・・・」が書いてあれば、商用に使ってOKとのこと。スプラッシュスクリーンを消去するか、独自のスプラッシュスクリーンの作成、再配布を可能にした商用版の作成はネゴしてくれとのことでした。P.S 寄付も待ってるよ!とのことでした。~

**インストール[#p527e28c]
statconnDCOMを上記サイトよりダウンロード後インストールする。(古いバージョンは消去しておくこと。上書きするとうまく動かないことがある。)~
Rにrcomとrscproxyパッケージをインストールし、installstatconnDCOM()実行。~
 library(rcom)
 installstatconnDCOM()

**動作チェック [#d183a92c]
プログラムにstatcommメニューが作成されているので、[statconn][DCOM][Server 01 Basic Test]を実行。 StatConnectorTestが起動するので、StartRボタンを押す。~
**正常に起動した画面 [#zfe45d66]
この画面になれば正常に起動している。~
#ref(RDCOM/RCOM解説/RDCOMtest1.PNG)~
#ref(RDCOM/RCOM解説/RDCOMtest2.PNG)~
**正常に起動しなかった場合(R2.11.1まで) [#o1027221]
多くの場合、RのR_HOME & PATHの設定、レジストリ(HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE)の設定がうまくいっていない。~
正常な場合の環境変数~
#ref(RDCOM/RCOM解説/statconnDCOMtest3.PNG)~
正常な場合のレジストリの値~
#ref(RDCOM/RCOM解説/statconnDCOMtest4.PNG)~
#ref(RDCOM/RCOM解説/statconnDCOMtest5.PNG)~
**正常に起動しなかった場合(R2.12.0以降) [#m672c9aa]
R2.12.0のbin/i386内にあるRSetReg.exeを起動してレジストリを設定する。~
環境変数の設定は不要(設定すると逆に動かなくなる)~

**デバッグ [#e84de1db]
そこで、MicrosoftのところからDebugView.exeを取って、何がおかしいのかを調べる。~
私の場合、Rのコンパイル環境を整備したときの、Pathの残骸が残っていたことと、Rのレジストリキーが足りなかった。~
そこで不要なPathを消去した後、ユーザー環境変数にPATHとR_HOMEを追加し、各レジストリにRまでのパスを追加した。この対処方法はマニュアルに載っている。~
また、windowsOSのコマンドプロンプトから~
 wmic environment list brief
を実行すると環境変数のリストが見れるので、チェックできる。~
**環境変数をプログラムで設定(R2.11.1まで、R2.12.0以降は実行しないでください) [#lcea0f5e]
#ref(RDCOM/RCOM解説/environment.wsf)~
#ref(RDCOM/RCOM解説/env.dat)~
env.dat内に設定データを作成し、environment.wsfを実行する。~
~
**STATCONNECTORSRVLib [#n50135fb]
***メソッド [#eaaf5be6]
 AddGraphicsDevice(bstrName As %String, pDevice As %IDispatch) 
 Close() 
 Evaluate(bstrExpression As %String) as %Variant
 EvaluateNoReturn(bstrExpression As %String) 
 GetConnectorInformatin(lInformationType As STATCONNECTORSRVLib.InformationType) as %String
 GetErrorId() as %Integer
 GetErrorText() as %String
 GetInterpreterInformtn(lInformationType As STATCONNECTORSRVLib.InformationType) as %String 
 GetServerInformation(lInformationType As STATCONNECTORSRVLib.InformationType) as %String 
 GetSupportedTypes(ByRef pulTypeMask As %Integer)
 GetSymbol(bstrSymbolName As %String) as %Variant 
 Init(bstrConnectorName As %String)
 RemoveGraphicsDevice(bstrName As %String)
 SetCharacterOutputDevc(pCharDevice As %IDispatch)
 SetErrorDevice(pCharDevice As %IDispatch) 
 SetSymbol(bstrSymbolName As %String, vData As %Variant)
 SetTracingDevice(pCharDevice As IDispatch)
 SetUserInterfaceAgent(pUIAgent As %IDispatch) 

IDispatchはインスタンス名~
~
***Rの初期化 [#d4c8e0f3]
 インスタンス名.Init("R")
***Rプログラムの実行 [#ie74eb3e]
 インスタンス名.EvaluateNoReturn("x<-rnorm(1:10)")
 インスタンス名.EvaluateNoReturn("plot(x)")
デフォルトグラフィックデバイスにplotされる。~

*RExcel [#ed2ec4d0]
R2.7.2以上でなければ動かないので注意。
R2.7.2以上でなければ動かないので注意。Excel は 32 ビット版のみ対応。
**事前準備 [#cc7bf845]
-statconnDCOMをダウンロードして、インストールしておく。
-現在利用しているRのbin内にあるRSetReg.exeを実行しておく。HKEY_LOCAL_MACHINEにインストールパスが設定される。これをやらないと次のインストールに失敗する。
**インストール [#scd16551]
RExcelInst.latest.exeを上記サイトよりダウンロード後インストールする。(古いRExcelプログラムは消去しておかないとうまく動かない)~
注意)RExcelをインストールすると、statconnDCOMが落ちやすくなるので、RExcelとstatconnDCOMを使ったプログラムは現状では共存させない方が良い。~


*rcom [#m3b600b8]
**rcomを使ってRからGoogleEarthを直接コントロール [#fae00896]
[[GoogleEarthとR]]
**rcomを使ってRからExcel起動 [#p3289c53]
 library(rcom)
 x<-comCreateObject("Excel.Application")
 comSetProperty(x,"Visible",TRUE)
 newwb<-comInvoke(comGetProperty(x,"Workbooks"),"Add")
 ws<-comGetProperty(newwb,"Worksheets",1)
Excelの'COMObject'オブジェクトxを生成し、外部ポインタがx内に設定されます。~
comSetProperty()でExcelをVisibleにし、その後ワークブックとワークシートを生成します。~

**rcomを使ってRからパワーポイントのスライドを作る(R2PPTパッケージ) [#xc7b53b0]

 library(rcom)
 library(R2PPT)
 myPres<-PPT.Init(visible=FALSE)
 myPres<-PPT.AddTitleSlide(myPres,title="タイトルスライド",subtitle="Subtitle here")
 myPres<-PPT.AddTitleOnlySlide(myPres,title="Title  Only",title.fontsize=40,title.font="Arial")
 myPres<-PPT.AddTextSlide(myPres,title="Text Slide",text="Text1 \rText2 \rText3",text.font="Arial")
 myPres<-PPT.SaveAs(myPres,file=paste(getwd(),"test R2PPT Pres.ppt",sep="/"))
 myPres<-PPT.Close(myPres)
 rm(myPres)

日本語も正常に表示できました
[[R2PPT(rcom を用いたマイクロソフトパワーポイント用簡易 R インターフェース )パッケージ中のオブジェクト一覧]]

*COLOR(Blue){SIZE(20){RExcelのデモInteractive graphicsのlabelの文字化けを回避する方法(WINXPSP2/Excel2000)}} [#abfd409b]
labelに全角文字を入力すると文字化けを起こす。~
labelの文字長の計算がうまく行われていないので、Excelから渡す文字を加工してしのぐ。~
M5にlabel用の文字「Rラベル1」が入っている場合、R(半角)ラベ(全角)ル(半角)1(半角)~
 =M5&REPT(" ",LENB(M5)-LEN(M5))&REPT(" ",LENB(M5)-(LENB(M5)-LEN(M5))*2)
で渡す。最初のREPTの" "は全角の空白、次のREPTの" "は半角の空白。~
要するに足りない文字長分空白を追加しているだけ。~

*COLOR(Blue){SIZE(20){複数のRのバージョンがインストールされているとRDCOMがうまく動かない(WIN)}} [#e068ce2f]
カレントのバージョン指定をしないとRDCOMは上手く動かないことがあるのでbin内のRSetReg.exeを実行すると、そのバージョンがカレントになる。~
~
*COLOR(Blue){SIZE(20){コメント欄}} [#z85a7bda]
#comment(below)
- 列名に日本語使ってRコマンダーに送ると文字化けが酷い。対策ありますか? -- [[tatabox]] &new{2011-08-06 (土) 15:33:04};
- statconnDCOMがR2.12.0で動かない原因は環境変数にありました。PATHとR_HOMEがあるとエラーになります。 -- [[okinawa]] &new{2010-12-02 (木) 09:39:33};
- statconnDCOMがR2.12.0で動きました。古いstatconnDCOMと環境変数および設定したレジストリの内容を全て消去してからR2.12.0をインストールし、bin/i386内のRSetReg.exeを実行してください。後はrcomパッケージをインストールした後、installstatconnDCOM()を実行してstatconnDCOMをインストールしてください。 -- [[okinawa]] &new{2010-11-30 (火) 13:42:06};
- Win R2.12.0はbin以下のディレクトリ構造が変わってしまっているのと、レジストリ構造が変わっているため、path等での問題があるようです。rcom本家でも同様の問題がすでに報告されています。 -- [[okinawa]] &new{2010-11-25 (木) 14:55:58};
- R2.12.0用のstatconnDCOM(3.1-2B7)は現在正常に動作していません。暫定的にR2.11.1用のstatconnDCOM(3.1-2B6)を置いておきます。正常に動くように改修されしだい消去しますのでご了解ください。 -- [[okinawa]] &new{2010-11-25 (木) 14:52:11};
- R2PPTパッケージが出ています。rcomを使ってRからpptスライドを作るものです。 -- [[okinawa]] &new{2009-06-29 (月) 09:12:59};
- Thomas Baierにライセンスについてメールで確認したところ、スプラッシュスクリーンの表示と再配布禁止、結果に「statconnDCOMを使った・・・」が書いてあれば、商用に使ってOKとのこと。スプラッシュスクリーンを消去するか、独自のスプラッシュスクリーンの作成、再配布を可能にした商用版の作成はネゴしてくれとのことでした。P.S 寄付も待ってるよ!とのことです。 -- [[okinawa]] &new{2009-06-15 (月) 09:26:32};
- r-comメーリングリストにて、MathematicaからRを動かす方法が公開されています。R-Linkという有償のものはあったようですが、今回のものはstatconnDCOM経由のものです。 -- [[okinawa]] &new{2009-06-15 (月) 08:58:04};
- RAndFriendsがR2.9.0対応。ststconnDCOMもR2.9.0で普通に動いてます。 -- [[okinawa]] &new{2009-04-21 (火) 09:48:28};
- RExcelの項を追加 -- [[okinawa]] &new{2009-04-15 (水) 16:41:37};
- 環境変数をプログラムで設定 追加 -- [[okinawa]] &new{2009-04-14 (火) 14:52:56};
- STATCONNECTORSRVLibのメソッドリスト追加 -- [[okinawa]] &new{2009-04-09 (木) 15:58:50};
- statconnDCOMいろいろいじってますが、結構安定して動いてるような気がします。(気のせいか?) -- [[okinawa]] &new{2009-04-08 (水) 16:31:06};
- statconnDCOMを起動するとスプラッシュスクリーンがでるのはなんとかならないのかな? -- [[okinawa]] &new{2009-04-08 (水) 15:57:54};
- statconnDCOM追加 -- [[okinawa]] &new{2009-04-08 (水) 15:56:36};
- 新しいRCOMページ、なかなかいいです。RExcelの教育videoもある。・・まあ、インストールが最大の難関なのだが・・・。 -- [[okinawa]] &new{2009-04-07 (火) 16:48:09};
- RCOMのホームページか新しくなったようです。ちゃんとサポートしてくれれば良いが・・・。 -- [[okinawa]] &new{2009-04-07 (火) 16:34:44};
- The new version 3.0-1B5 of R/Scilab (D)COM Server is out. -- [[okinawa]] &new{2008-11-11 (火) 08:46:30};
- RExcelInstallerパッケージの利用の内容を変更しました。 -- [[okinawa]] &new{2008-11-07 (金) 15:20:17};
- RExcelInstallerパッケージ利用の(3)bin内に、  binフォルダーが生成されません。 -- [[tnakagawa]] &new{2008-11-07 (金) 15:04:53};
- 今回のROOoは、Linux&OSX版もありますよ! -- [[okinawa]] &new{2008-10-15 (水) 17:24:31};
- OOo3.0(win)で動作確認しました。ExamplesはC:直下に持っていってください。 -- [[okinawa]] &new{2008-10-15 (水) 17:21:38};
- ROOoが出てます! -- [[okinawa]] &new{2008-10-15 (水) 16:59:07};
- rcomのダウンロードエリアにRandFrendsSetup2070V20(R2.7.0対応版)が登録されました。これは、Rや関連パッケージごとインストールできるものです。 -- [[okinawa]] &new{2008-04-23 (水) 08:47:51};
- RExcelStartup.xlsを起動すると、Rcmdrも起動します。また、ワークシート内にRcmdrと同じメニューが表示され、Rcmdrを操作することができます。RExcelがRcmdrを乗っ取ったって感じでしょうか? -- [[okinawa]] &new{2008-04-21 (月) 17:13:44};
- パッケージにもRExcelInstallerが追加されました。これまではRDCOMServerと一緒に提供されていましたが、単体で動くようになっています。 -- [[okinawa]] &new{2008-04-21 (月) 16:50:18};
- http://sunsite.univie.ac.at/rcom/download/devel/内に色々追加されているようです。 -- [[okinawa]] &new{2008-04-21 (月) 16:48:32};
- RExcelでInteractive graphicsのlabelが文字化けする問題の回避方法を乗せました。 -- [[okinawa]] &new{2008-04-04 (金) 09:29:15};
- rcomを使ってRからGoogleEarthを直接コントロールする(WIN)を[[GoogleEarthとR]]にUpしました。 -- [[okinawa]] &new{2007-10-10 (水) 14:34:43};
- RExcelに投稿したのだが、rcomで用いられているCOMObjectを利用したマルチバイト文字列の受け取りがうまく動いていない。どうやらCOMObjectがワードカウントをバイトカウントとしてObject内に取り込んでいるようだ。 -- [[okinawa]] &new{2007-10-01 (月) 10:34:17};

*アクセス数: [#v2022a99]
&counter;
人

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS