以下は Mac だけでのことのようだ。Windows では問題なく使えている。
R が用意しているデータセット,たとえば iris などを Julia で使うとき, using RDatasets; iris = dataset("datasets", "iris")
などとしていた。少なくとも 2 年ほど前までは,これで動いていたのだけど,久しぶりにやってみると Rdatasets や RData パッケージがちゃんと使えないという状況になっていた(プリコンパイルできないとか)。
その回避法を書いておく。
- R がインストールされていることを前提とする
- RCall パッケージが使えることを前提とする。必要ならば
import Pkg; Pkg.add("RCall")
準備ができたら,以下を実行する。
using RCall
df = rcopy(R"iris")
これだけで iris データセットが df という名前のデータフレームとして使えるようになる。
その後も Julia でこのデータセットを使いたいような場合は,CSV.write しておけばよい。必要なときに CSV.read すればよい。
julia> using RCall
julia> df = rcopy(R"iris");
julia> first(df, 5)
5×5 DataFrame
Row │ Sepal_Length Sepal_Width Petal_Length Petal_Width Species
│ Float64 Float64 Float64 Float64 Cat…
─────┼───────────────────────────────────────────────────────────────
1 │ 5.1 3.5 1.4 0.2 setosa
2 │ 4.9 3.0 1.4 0.2 setosa
3 │ 4.7 3.2 1.3 0.2 setosa
4 │ 4.6 3.1 1.5 0.2 setosa
5 │ 5.0 3.6 1.4 0.2 setosa
julia> using Plots
julia> histogram(df.Sepal_Length)