Posts

Showing posts with the label Extending R

Bring the power of Julia into R through XRJulia package (2)

Introduction to Julia and XRJulia package by example Julia is a high-performance language, it is easy to learn if you are already familiar with R . You can find introduction and many useful links for Julia from https://julialang.org/ . XRJulia is a package for R by John M. Chambers. It enables us to access to all the functionality provided by Julia in R . You can get it from CRAN or the latest version from https://github.com/johnmchambers/XRJulia . The purpose of this article is to give a brief introduction to Julia and XRJulia with some small examples. After installing XRJulia package, let us type the following code into R : library("XRJulia") ev <- RJulia() ev$Eval("1+1") ## 2 ev$Command("a = 1+1") ev$Eval("a") ## 2 The first line is to load the XRJulia library, and the second line is to start a Julia session with the name ev (which is the abbreviation for evaluator). And then you can evaluate some expression using ev$Eval ...

Bring the power of Julia into R through XRJulia package

R is the software for statistics. It is easy to use and have great flexibility. The most important of all, it has a lot of packages which greatly expand the power of R. But R sometimes suffer from low performance issues. Julia is a new programming language whose main goal is to let high performance scientific computing becomes easy. In this series of blogs, I will talk about how to use XRJulia package to bring the high performance of Julia into the great ecosystem of R, which combines the best of the two worlds. I will first talk about some general recipes to speed up R code, and then talk about why choose Julia and XRJulia. And the introduction to R and XRJulia will be in the second blog of this series. General Advice on speeding up your R script When you have some performance issue with your R script, there are several things you can do: Profile your code, identify the bottleneck for your script, and then try to alleviate it. For example, if the bottleneck of your code is a dee...