How does RCall transfer data between R and Julia?

In RCall every data from R to Julia will invoke function rcopy, which will create a copy of the original R data in Julia (most of the time). For example, if a vector of integer in R is transferred, then RCall will create a new integer vector in Julia with the same content. So it is neither instantaneous nor as slow as writing and reading a file on a disk. Or it can be seen as “instantaneous” if the size of data is not big.
As to the dataframe, I think things will become a little more complicated than a vector. Still, RCall will create a copy in Julia with the same content, and since the dataframe is big, don’t expect it to be “instantaneous”.

And what is the purpose? If you want to read a dataframe in Julia, it should be better to directly read it into Julia than read it using RCall and then copy it to Julia.

1 Like