Skip to content
2月 8 / rakkyoo

RubyでRの関数を使う(macOS X)


最近,Rubyを使って,データ解析をすることが増えてきたのですが,

統計解析言語の「R」の関数を使えたらなって思っていたのですが,簡単にできるみたいですね.

Rがインストールされていれば,rubyに「RSRuby」を導入すればいいだけです.

流れとしては,
1.R_HOMEの環境変数を登録する
2.gem経由でRSRubyをインストールする
この2点だけです.

1.R_HOMEの環境変数を登録する


「~/.bash_profile」に環境変数を登録します.
~/.bash_profileを開いて,以下の内容を追記します.

export R_HOME=/Library/Frameworks/R.framework/Resources

これだけです.

2.gem経由でRSRubyをインストールする


ターミナルで,以下のコマンドを入力するだけです.

$ sudo gem install rsruby — –with-R-include=/Library/Frameworks/R.framework/Headers –with-R-lib=/Library/Frameworks/R.framework/Libraries

「include」と「lib」のパスを渡して,gem経由でインストールです.

これだけです.

ためにしに使ってみると,

$ irb1.9

irb(main):001:0> require ‘rsruby’
=> true
irb(main):002:0> r = RSRuby.instance

=> ##, “T”=>true, “TRUE”=>true, “F”=>false, “FALSE”=>false, “parse”=>#, “eval”=>#, “NA”=>-2147483648, “NaN”=>NaN, “help”=>#, “helpfun”=>#}>
irb(main):003:0> r.sum(1,2,3)

=> 6
irb(main):004:0> a = [1,2,3]

=> [1,2,3]
irb(main):005:0> r.sum(a)
=> 6

ちなみに,RSRubyを使うためには,
上記のように,’rsruby’をrequireして,RSRubyのインスタンスを作成して,呼び出すだけです.
簡単なplotも使えますし,一通りのことはできそうです.

今回,RSRubyを導入した目的は,対数正規分布を簡単に使いたかったのですが,

irb(main):006:0 > q = 10

=> 10
irb(main):007:0 > out = r.plnorm(q, meanlog = 0, sdlog = 1)

=> 0.9893489006582998

とすれば,”10”に対する平均値0,分散1の確率密度が出力されました.

結構快適です.

[`twib` not found]

Leave a comment

CAPTCHA


This blog is kept spam free by WP-SpamFree.