や、言語関係など覚えたいもの、覚えるべきものはたくさんある一方で、注目が集まっているから、やってみたい。ということでプログラミング言語としてのを学んでいく。
3. Juliaライブラリの使い方
3.3 他言語の呼び出し
は歴史が浅く成熟したライブラリが少ないため、他言語の成熟したライブラリを用いることも一考の余地がある。
3.3.2 Rの呼び出し
からの機能を呼び出すにはを用いる。
using RCall using DataFrames const rabs = R"abs" rabs(-1.2) # 返り値はRObject # Juliaのオブジェクトにするにはrcopyを呼び出す a = rcopy(rabs(-1.2)) typeof(a) # JuliaのオブジェクトをRのオブジェクトにするにはrobjectを呼び出す class = R"class" obj = robject(DataFrame(:x => [1,2,3],:y => randn(3))) println(class(obj)) # x = [1.0, 2.0, 3.0] R"sum($x)" # R側にJuliaのオブジェクトを渡す際には、$(...)を用いることも可能 list = R"list(x = c(1,2,3), y = \"foo\")" println(list) # Rのリストオブジェクトから一部を抜き出す操作: list[2] # R内におけるlist[[2]]に相当 ### R側で回帰してパラメータの推定値をJuliaに返す n = 100 x = randn(n) df = DataFrame(x = x, y = 2x .+ 1 .+ randn(n) * 0.1) fit = R"lm(formula = formula(y ~ x+1), data = $(df))" # 線形回帰モデルを当てはめ getnames(fit) # 名前属性を得る fit[:coefficients][2]
のドキュメンテーション機能として、を紹介する。
3.4 docstringの読み方
# ヘルプは?+関数名で実行 ?push!