JuliaCall: an R package for seamless integration between R and Julia

R is a widely used software and computing environment for statistics, which provides a variety of statistical techniques and packages (R Core Team, 2018). Many R packages provide interfaces to other computer languages to bring new functionalities to R or to accelerate computations, such as Rcpp (Eddelbuettel & François, 2011) and V8 (Ooms, 2019). The package JuliaCall provides an R interface to Julia, which is a computer language for high-performance scientific computing (Bezanson, Edelman, Karpinski, & Shah, 2017). JuliaCall embeds Julia in R, and provides functions to evaluate Julia commands, to call Julia functions, to transmit data objects between R and Julia, and so on. It also provides many utilities for user convenience. For example, JuliaCall gives detailed error messages for the embedded Julia. It also provides Julia package management functions such as installation and loading, and utility functions to get the documentation of Julia functions. JuliaCall can also be used in R Markdown document as the engine of Julia language, see Section 2.77 in Xie, Allaire, & Grolemund (2018).