Skip to content

2 x 3 Probability under the null

8 messages · Jim Silverton, John Sorkin, (Ted Harding) +3 more

#
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. 

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 th...{{dropped:6}}
#
On 27-Oct-11 04:09:46, Jim Silverton wrote:
Since 1/0 --> Inf, and 0/0 --> NaN, it seems likely that your
data lead to zero denominators. However, true diagnosis needs
to see what your data really are. What is a typical 2x3 matrix
that gives such results?

If this guess is correct, then no possible function in R can
resolve the problem! For data where the problem does not arise,
then you can of course write your own function to implement
your code above for an arbitrary 2x3 matrix.

Hoping this helps,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <ted.harding at wlandres.net>
Fax-to-email: +44 (0)870 094 0861
Date: 27-Oct-11                                       Time: 07:32:30
------------------------------ XFMail ------------------------------
#
On 11-10-27 12:09 AM, Jim Silverton wrote:
Work in the log scale.  You're probably getting overflows.  lchoose() 
calculates the log of choose().

Duncan Murdoch
#
On 10/27/2011 04:24 AM, John Sorkin wrote:
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.

good luck,
Paul
#
On 11-10-27 8:02 AM, Paul Hiemstra wrote:
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.

Duncan Murdoch
#
On 10/27/2011 12:13 PM, Duncan Murdoch wrote:
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

  
    
#
On 28/10/11 01:13, Duncan Murdoch wrote:
<SNIP>
<SNIP>

Then  how come Uwe Ligges provides a win.builder facility for Linux users to
build packages for Windoze, but there is no corresponding linux.builder 
facility
for Windoze users to build packages for Linux? :-)

[Answer:  There is no need, because package building is a breeze on Linux.
  Even I can do it.]

     cheers,

         Rolf

P. S.  And if Duncan hadn't gone to all the trouble and effort of 
collecting the tools
in one place, building packages on Windoze would be impossible for 
ordinary mortals.

         R.