17  Julia 与 R 的互操作

17.1 在 Julia 中调用 R

本节运行环境配置
import Pkg; Pkg.activate("..")

可以使用 RCall.jl 在 Julia 中调用 R。它的使用非常简单,就像下面这样:

using DataFrames, RCall

# 使用 `@rlibrary` 宏载入 `ggplot2` 包(需要本地 R 环境已经安装该包)
@rlibrary ggplot2

# 使用 `DataFrames.jl` 在 Julia 侧创建数据框
df = DataFrame(x=1:10, y=rand(10))

# 绘制并保存
(ggplot(df, aes(x=:x, y=:y)) + geom_line()) |>
p -> ggsave("ggplot.svg", p);

说明
  • 在 Julia REPL 中使用 RCall.jl 时,可以输入 $ 进入 R REPL 模式,并可以在这一模式下通过 $foo 的方式使用在 Julia 环境中定义的变量。

17.2 在 R 中调用 Julia

可以使用 R 的 JuliaCall 包来在 R 中调用 Julia。

library(JuliaCall)
julia <- julia_setup()
julia_command("a = sqrt(2);"); julia_eval("a")
#> [1] 1.414214