オブジェクト指向スクリプト言語 Ruby

このページでは、Ruby (http://www.ruby-lang.org/ ) から R を利用するためのリソースを紹介します。

RSRuby

日本で博士研究員をしていた Alex さんが RSRuby を開発しています。

以下のようなことができるものがリリースされています。(なかお)

require 'rsruby/rsruby'
r = RSRuby.new
r.dnorm(10, 0, 1)
ary = r.rnorm(100)
ary.class #=> Array
r.sample(ary, 10).size #=> 10
r.seq(1, 10, 2) #=> [1, 3, 5, 7, 9]  
r.sum(r.seq(1, 10, 2)) #=> 25
r.example("plot") 
IO.popen("open Rplots.ps")

require 'pp'
t_test = r.call_R("t.test", r.rnorm(10), r.rnorm(10))
pp t_test
# 0.2 で R の List が Ruby の Hash になるようになりました。
# {"p.value"=>0.462472878695523,
# "null.value"=>0.0,
# "data.name"=> 
#      ["c(1.01068740782645, 0.865236173115251, 0.93167879993857,
#        1.47581317399776,  and c(-1.10211243233737, 0.294063804878213,
#        0.00141122434656126, ",   "-0.515217879322734, 0.134116527467575,
#        0.919228278924198, -0.510807008081616,  and -0.094686119822364,
#        0.267393824116473, -1.08707057903261, 0.483878745814987, ",
#       "0.0988882035656655, -1.69156211087167) and 0.722160284065746, 
#        0.596582208806619, -0.117070928181702)"],
# "method"=>"Welch Two Sample t-test",
# "conf.int"=>[-0.500949894573842, 1.05165220135482],
# "alternative"=>"two.sided",
# "estimate"=>[0.271806156655945, -0.00354499673454438],
# "parameter"=>15.6594946878024,
# "statistic"=>0.753253690827231}

ソース

Alex さんによる[ruby-talk:186592]からはじまるスレッドの[ruby-talk:187761]で RSRuby の開発版を公開しました。

Ruby-RMathlib

Ruby-RMathlib ( http://raa.ruby-lang.org/project/ruby-rmathlib )

require 'rmath'

Rmath.dnorm(10, 0, 1)             # dnorm(10, 0, 1)
Rmath.dnorm(10, 0, 1, false)      # dnorm(10, 0, 1, F)
Rmath.pnorm([0.1,0.2,0.3], 0, 1)  # pnorm(c(0.1,0.2,0.3), 0, 1)
Rmath.pnorm([0.1,0.2,0.3], 0, 1)  # pnorm(c(0.1,0.2,0.3), 0, 1)
Rmath.qnorm(0.001, 0, 1)          # qnorm(0.001, 0, 1)
Rmath.qnorm([0.1,0.2,0.3], 0, 1)  # qnorm(c(0.1,0.2,0.3), 0, 1)
Rmath.rnorm(10, 0, 1)             # rnorm(10, 0, 1)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-25 (土) 11:19:16