[R] Using functions written in Fortran in R

Paul Hiemstra paul.hiemstra at knmi.nl
Thu Oct 27 14:20:36 CEST 2011


On 10/27/2011 12:13 PM, Duncan Murdoch wrote:
> On 11-10-27 8:02 AM, Paul Hiemstra wrote:
>> On 10/27/2011 04:24 AM, John Sorkin wrote:
>>> Windows XP
>>> R 2.12
>>>
>>> I am trying to understand how I can take a subroutine (i.e.
>>> function) I have written in Fortran, and call the function in R.  I
>>> need to know (1) where I should store the Fortran subroutine (2) how
>>> to prepare the function for use in R, and (3) how to load and call
>>> the function.
>>>
>>> There's a large literature that describes how to construct packages
>>> (including S Programming by Venables and Ripley, which I have
>>> referenced), but everything I have seen appears overly complex and
>>> generally geared to R running under Linux where as I run R under
>>> Windows XP.
>>
>> Hi,
>>
>> I'm afraid that to some degree running Fortran code from R is complex.
>> Take a look at the .Fortran functions. Another good tip is to take a
>> look at an R package which includes a lot of Fortran and see how they
>> organise their code.
>>
>> Linux is much more ready for these kinds of solutions, but probably you
>> could get it to work under Windows. You need a compiler, set all kinds
>> of enviroment variables etc. Running R under cygwin should make it
>> possible to use the tutorials/books that are geared towards Linux, for
>> Windows.
>
> I think nowadays many Linux distros are no more ready than Windows for
> this.  On Linux, you'll likely need to install development libraries
> and tools; on Windows, the same.  The advantage of Windows is that the
> tools have all been collected in one place
> (www.murdoch-sutherland.com/Rtools), so it's pretty easy to get
> everything going.

You are right. This might be my Linux heart and predjudice towards
Windows speaking too loudly :)...altough I was really happy switching
from Windows XP to Debian Linux during my PhD (couldn't resist promoting
linux ;)).

Paul

>
> Duncan Murdoch
>
>
>>
>> good luck,
>> Paul
>>
>>> I want to put R functions and Fortran routines in a library so they
>>> can be easily accessed. If, for example, I write a subroutine in
>>> Fortran called sqrtvector (n, vector), I want to compile it (to a
>>> .dll ?) and then put it in a library so subsequently I can code y<=
>>> sqrtvector(nn, x) in my R programs.
>>>
>>> Thanks!
>>> John
>>>
>>> John David Sorkin M.D., Ph.D.
>>> Chief, Biostatistics and Informatics
>>> University of Maryland School of Medicine Division of Gerontology
>>> Baltimore VA Medical Center
>>> 10 North Greene Street
>>> GRECC (BT/18/GR)
>>> Baltimore, MD 21201-1524
>>> (Phone) 410-605-7119
>>> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>>>
>>> Confidentiality Statement:
>>> This email message, including any attachments, is for ...{{dropped:20}}
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>


-- 
Paul Hiemstra, Ph.D.
Global Climate Division
Royal Netherlands Meteorological Institute (KNMI)
Wilhelminalaan 10 | 3732 GK | De Bilt | Kamer B 3.39
P.O. Box 201 | 3730 AE | De Bilt
tel: +31 30 2206 494

http://intamap.geo.uu.nl/~paul
http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770



More information about the R-help mailing list