Would you please be so kind and explain in some more detail what you mean? Thank you!
Everything is pass by value with some cases being marked as 'safe', i. e. if you know beforehand the variable won't be changed it's not copied to save time.
The reason for this is that the project was designed by people who were primarily statisticians, and the most glaring performance problems were later fixed by hacks and 'special cases'.
Disclaimer: Most of this I know second hand from a coworker who's an author of many R packages. I worked with R's interface to C and it wasn't a pleasant experience.