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@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 ______________________________________________ R-help@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.