An R package that embeds Julia for high-performance numerical computing, enabling seamless interoperability between R and Julia.
JuliaCall is an R package that embeds the Julia programming language within R, enabling seamless interoperability between the two environments. It allows R users to execute Julia code, call Julia functions, and leverage Julia's high-performance numerical computing capabilities directly from R scripts. The package solves the problem of integrating Julia's speed with R's extensive statistical ecosystem without requiring users to switch contexts.
R users and data scientists who need high-performance numerical computing for tasks like optimization, differential equations, or large-scale simulations, and R package developers building interfaces to Julia libraries.
Developers choose JuliaCall for its seamless integration, automatic type conversion, and ability to harness Julia's performance (100x+ speedups in some cases) while staying within the familiar R environment. It's specifically designed for interoperability rather than just foreign function interfaces.
Embed Julia in R
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatic type conversion and direct function calls like julia_call() allow R scripts to execute Julia code without manual data handling, as shown in basic usage examples.
Leverages Julia's speed for numerical tasks, with documented cases like Mandelbrot set calculations showing over 100x speedup compared to pure R implementations.
Provides functions like julia_install_package_if_needed() to install and load Julia packages from R, enabling access to specialized libraries such as Optim.
Designed for developers building R interfaces to Julia packages, with successful examples like diffeqr for differential equations and convexjlr for convex optimization.
Requires a separate Julia installation and often needs manual environment configuration, with common issues like 'Julia not found' or libstdc++ errors documented in the troubleshooting section.
Adds maintenance burden by depending on both R and Julia, with minimum version requirements (Julia 1.10, R 4.4) that can complicate deployment and updates.
The README notes it's under active development, which may lead to breaking changes or incomplete features, requiring users to monitor updates closely.