如何从您自己的代码调用内部RC函数

jub*_*uba 10 r

我想重用stats 模拟偶然表的包中的R代码来计算p.value卡方检验的模拟.

查看chisq.test函数源代码时,您可以看到以下内容:

 if (simulate.p.value && all(sr > 0) && all(sc > 0)) {
        setMETH()
        tmp <- .Call(C_chisq_sim, sr, sc, B, E)
        STATISTIC <- sum(sort((x - E)^2/E, decreasing = TRUE))
        PARAMETER <- NA
        PVAL <- (1 + sum(tmp >= almost.1 * STATISTIC))/(B + 
            1)
    }
Run Code Online (Sandbox Code Playgroud)

这里有趣的是.Call电话:

tmp <- .Call(C_chisq_sim, sr, sc, B, E)
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想做的是C_chisq_sim在我自己的代码中使用这个功能,但我无法做到.如果我尝试:

tmp <- .Call(C_chisq_sim, sr, sc, B, E, PACKAGE="stats")
Run Code Online (Sandbox Code Playgroud)

我收到一个C_chisq_sim object not found错误.如果我尝试:

tmp <- .Call("C_chisq_sim", sr,sc,B,E, PACKAGE="stats") 
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,说输入点不在加载表中.

如果可能的话,我想要一个跨平台的解决方案.

rin*_*nni 13

这应该是我猜的伎俩:

tmp <- .Call(stats:::C_chisq_sim, sr, sc, B, E, PACKAGE="stats")
Run Code Online (Sandbox Code Playgroud)