This chapter is about using tools that are NOT in R but prepared in other computing systems. However, it is about using R to access these tools.
The issues in doing this are first of all technical issues. We must find a way to link our R session to the external tool in a way that the tool can be run successfully and we can get the results back in a form usable by R. There are several ways to do this, and the level of detail is such that here we will have to be satisfied with a limited treatment of the main ideas.
There are also legal issues that may concern us. R is free/libre software, and proprietary or otherwise limited licenses on the external tool mean that such tools cannot be distributed with R. Such issues occupy quite a large number of the contributions on the R mailing lists and to some extent fragment the R environment. Personally, I will only work with free/libre software unless there is some compelling reason to do otherwise. I am a scientist and want to share ideas with others, and this cannot be done properly unless source code and data are available so that computations can be reproduced.
Finally, there are personal preferences. My own choices are, as far as is reasonable, to avoid complexity that can give rise to errors. In any situation where one has to deal with more than one structure or system, such errors can be extremely difficult to debug.
Nevertheless, there are situations where it is necessary to use ...