jupyter notebook というのは,いろいろな言語に対応している。
R の RStudio や,これまた多くの言語に対応している Atom と少し違って,スクリプトと実行結果をまとめて記録でき,成果物を LaTeX, PDF をはじめとして様々な形式で保存・閲覧できるという点で気に入っている。
たとえば,RStudio は,プログラム編集とコンソールとPlotなどのペインが分かれているので,作業しているときに煩わしい(別のやり方があるのかも知れないが)。その点,jupyter notebook はやったとおり,できたとおりのものが順に表示されていくので心地よい。あとで,不必要な部分や,追加処理を挿入するなどしてまとめて全部再度実行するのも簡単にできる。
それはさておき,今回は,Julia と R の環境を行き来して,いいとこ取りの分析環境を構築できるかどうか,ちょっとだけつまみ食いしてみよう。
以下では,jupiter notebook の結果を text ファイルに出力したまま(都合で html ファイルの一部分を切り取って)表示しているので不細工だが,本当は遙かに綺麗(そのまま出版できるレベル)なので,誤解なきよう。
まずは,Julia で,独立二標本の平均値の差の検定を行ってみる。
使うのは,ちょっと,長い名前だが UnequalVarianceTTest() だ。
使うのは,ちょっと,長い名前だが UnequalVarianceTTest() だ。
In [1]:
using HypothesisTests
In [2]:
x = [2,1,3,2,4,3,2,3,4,5];
In [3]:
y = [3,2,3,4,5,6,3,2,3,3,3,4,3,2,6];
In [4]:
UnequalVarianceTTest(x, y)
Out[4]:
次に,Julia から RCall を介して,R の t.test() で同じデータを分析してみる
In [5]:
using RCall
長いスクリプトは,R""" と """ で挟んで,何行でも書ける。
$x, $y というのは Julia の x, y ということを表す。
結果を明示的に print() で書かないと,最後の出力しか表示されないので注意。
In [6]:
$x, $y というのは Julia の x, y ということを表す。
結果を明示的に print() で書かないと,最後の出力しか表示されないので注意。
In [6]:
R"""
options(digits=15)
a = t.test($x, $y)
print(a)
print(a$statistic)
print(a$p.value)
"""
Out[6]:
In [7]:
R"a"
Out[7]:
In [8]:
R"""
group = rep(factor(c("x", "y")), c(length($x),length($y)))
value = c($x, $y)
a = boxplot(value ~ group)
"""
Out[8]:
※コメント投稿者のブログIDはブログ作成者のみに通知されます