[R] How to use a 'hidden' function directly?
Sharpie
chuck at sharpsteen.net
Thu Feb 25 02:47:11 CET 2010
Dale Steele wrote:
>
> I would like to be able to use two functions; qansari and pansari
> which are found in the
> function ansari.test. How can I evaluate these functions
> independently? Thanks. --Dale
>
> For example, when I load the function ...
>
> qansari <- function(p, m, n) {
> .C(R_qansari, as.integer(length(p)), q = as.double(p),
> as.integer(m), as.integer(n))$q
> }
>
> and attempt to evaluate ...
>
>> qansari( 0.025, 5, 5)
> Error in qansari(0.025, 5, 5) : object 'R_qansari' not found
>
If R_qansari is the name of a compiled C subroutine you are trying to
execute, then it needs to be passed to .C as a quoted string:
.C( "R_qansari" , as.integer(length(p)), q = as.double(p),
as.integer(m), as.integer(n))$q
Otherwise R, as usual, is looking for a *variable* named R_qansari that it
assumes holds a string that will tell it which C routine to call. It does
not find such a variable and gives the error message shown above.
-Charlie
Dale Steele wrote:
>
> methods(ansari.test)
> stats:::ansari.test.default
>
> the two functions that are part of ansari.test.default:
>
> qansari <- function(p, m, n) {
> .C(R_qansari, as.integer(length(p)), q = as.double(p),
> as.integer(m), as.integer(n))$q
> }
>
> pansari <- function(q, m, n) {
> .C(R_pansari, as.integer(length(q)), p = as.double(q),
> as.integer(m), as.integer(n))$p
> }
>
>
--
View this message in context: http://n4.nabble.com/How-to-use-a-hidden-function-directly-tp1568392p1568401.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list