R/C Code

From QERM Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page)
 
m (Minor corrections)
Line 6: Line 6:
 
Everything should be already installed.  You may need to install developer tools on Mac if they're not already there.
 
Everything should be already installed.  You may need to install developer tools on Mac if they're not already there.
 
====Windows====
 
====Windows====
Install [http://www.murdoch-sutherland.com/Rtools/ Rtools] to get the necessary toold to compile code and build packages for R.  Be careful if you already have Cygwin installed.
+
Install [http://www.murdoch-sutherland.com/Rtools/ Rtools] to get the necessary tools to compile code and build packages for R.  Be careful if you already have Cygwin installed.
  
 
==Simple example==
 
==Simple example==
Line 15: Line 15:
  
 
To load what you just built to use in R:
 
To load what you just built to use in R:
  file.path(path, paste("foo", .Platform$dynlib.ext, sep=""))
+
  dyn.load( file.path(path, paste("foo", .Platform$dynlib.ext, sep="")) )

Revision as of 17:01, 10 July 2009

Contents

Overview

Sometimes R users need to encounter C, for example, to maintain an R package, or to speed up existing functions. It is fairly straightforward to run C code from within R. Pdf10.png Here is how, with some easy-to-follow examples. More detailed information can be found in Writing R Extensions.

Tools needed

Mac/Linux

Everything should be already installed. You may need to install developer tools on Mac if they're not already there.

Windows

Install Rtools to get the necessary tools to compile code and build packages for R. Be careful if you already have Cygwin installed.

Simple example

From the command line:

R CMD SHLIB foo.c 

(you may need the whole path to R if it's not in your path)


To load what you just built to use in R:

dyn.load( file.path(path, paste("foo", .Platform$dynlib.ext, sep="")) )
Personal tools