この Web ページで行うこと
sudo apt -y update sudo apt -y install ruby1.9.1-dev sudo apt -y install ruby1.8-dev
sudo gem install --include-dependencies rsruby -- --with-R-dir=/usr/lib/R --with-R-include=/usr/share/R/include --with-opt-dir=/usr/share/R
gem install rsruby -- --with-R-dir=C:/R/R-3.0.1 --with-opt-dir=C:/R/R-3.0.1/share/R --with-R-lib=C:/R/R-3.0.1/bin/i386 --with-R-include=C:/R/R-3.0.1/include
which gcc と操作して、C:\Ruby193\mingw\bin\gcc.EXE のように表示されればOK
R システムを呼び出して,CSV ファイルの読み込みと散布図の描画を行ってみる.ここでの テスト用データは,「データフレームからの散布図作成,画像ファイルに保存(R システム,ggplot,plot を使用)」に記述している Book1.csv を使っています
◆ Ubuntu の場合の実行手順例
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' r = RSRuby::instance r.eval_R(<<-RCOMMAND) X <- read.table("/tmp/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE); plot( X[,c("seq")], X[,c("USD")] ) pdf("hoge.pdf") plot( X[,c("seq")], X[,c("USD")] ) dev.off() RCOMMAND
◆ Windows の場合の実行手順例
irb require 'rubygems' require 'rsruby' r = RSRuby::instance r.eval_R(<<-RCOMMAND) X <- read.table("C:/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE); plot( X[,c("seq")], X[,c("USD")] ) RCOMMAND
Ruby で連想配列を作り,それを R に渡して,散布図を書く.
◆ Ubuntu の場合の実行手順例
export R_HOME=/usr/lib/R irb require 'rubygems' require 'rsruby' D = { "a"=>[1, 2, 3, 4, 5], "b"=>[100, 110, 105, 120, 125] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) # write a graph in a window A <- matrix( c( #{D["a"].join(",")} ), 1, #{D["a"].size} ) B <- matrix( c( #{D["b"].join(",")} ), 1, #{D["b"].size} ) plot(A, B) # write a graph in a PDF file pdf("result.pdf", paper="a4") A <- matrix( c( #{D["a"].join(",")} ), 1, #{D["a"].size} ) B <- matrix( c( #{D["b"].join(",")} ), 1, #{D["b"].size} ) plot(A, B) dev.off() RCOMMAND