- 2008-09-03 (Wed) 17:03
- Ruby
題名の通りです。
以前ご紹介したように、RSRubyはRubyでRのスクリプトを実行するためのものです。
RのオブジェクトをRubyのオブジェクトに変換することは簡単です。
というのはeval_Rをした結果がArrayとして扱うのが適当であればArrayに、Hashとして扱うのが適当であれば、Hashに変換してくれます。
問題はRubyのArrayをRの中で使いたいときです。
たとえば
[1, 2, 3, 4, 5]
というArrayをRの行列にしたい場合。
ruby_data = [1, 2, 3, 4, 5]
r = RSRuby::instance
r.eval_R <<-RCOMMANDS
r_data <- matrix(c(#{ruby_data.join(",")}), 1, #{ruby_data.size})
<<-RCOMMANDS
などとしてうまくjoinを使ってやればできます。
- Newer: ワタシは、ワタシを、シアワセにも できる
- Older: ポーティングされて元気になった?
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.cocoalife.net/2008/09/post_704.html/trackback
- Listed below are links to weblogs that reference
- RSRubyでRubyのArrayをRのMatrixに変換する from cocoa*life