Re: [R] Could I use R function lm or nlm in C code?

From: Dirk Eddelbuettel <>
Date: Sat, 23 Apr 2011 08:41:11 -0500

On 23 April 2011 at 18:25, Shuguang Sun wrote:
| I'm doing some simulation work and it takes me a lot of time to do it
| in R. So I try to implement it in C code, but I want to use some R
| functions directly for my lazy and the robustness of code. For
| example, I will use lm and nlm in my program. How could I use R's lm
| and nlm function directly? I thinks these functions are not included
| in the R's include directory. Do I need to get full R's source first?
| If I have get all R's source, is it enough that I only include the
| source file for function lm or nlm?

The CRAN packages RcppArmadillo and RcppGSL both implement a function fastLM() that does just that: faster linear model fits.

Two caveats, though.

First, these functions are provided to illustrate how to do something like this more easily in C/C++ from R thanks to Rcpp and Rcpp extensions. But as Doug Bates will remind you, one should not necessarily do linear model fits this way R does internally is different, and more robust in corner cases. See help(fastLM) in RcppArmadillo for a worked example.

Second, as Gabor said, there are also easier way to get faster lm fits so make sure you have those options exhausted.


Gauss has an Erdos number of -1.
   -- #63 at

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Sat 23 Apr 2011 - 13:45:54 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 23 Apr 2011 - 13:50:32 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive