我想查看一个函数的源代码,看看它是如何工作的.我知道我可以通过在提示符下键入其名称来打印函数:
> t
function (x)
UseMethod("t")
<bytecode: 0x2332948>
<environment: namespace:base>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是什么UseMethod("t")意思?我如何找到实际使用的源代码,例如:t(1:10)?
有没有当我看到之间的差异UseMethod,当我看到standardGeneric和showMethods,与with?
> with
standardGeneric for "with" defined from package "base"
function (data, expr, ...)
standardGeneric("with")
<bytecode: 0x102fb3fc0>
<environment: 0x102fab988>
Methods may be defined for arguments: data
Use showMethods("with") for currently available ones.
Run Code Online (Sandbox Code Playgroud)
在其他情况下,我可以看到正在调用R函数,但我找不到这些函数的源代码.
> ts.union
function (..., dframe = FALSE)
.cbind.ts(list(...), .makeNamesTs(...), dframe = dframe, union = TRUE)
<bytecode: 0x36fbf88>
<environment: namespace:stats>
> .cbindts
Error: object '.cbindts' …Run Code Online (Sandbox Code Playgroud) 我在JAVA中有两个4*4矩阵,其中一个矩阵包含观察计数和其他预期计数.
我需要一种自动的方法来计算这两个矩阵之间的卡方统计量的p值; 但是,就我所知,JAVA没有这样的功能.
我可以通过将两个矩阵读入R作为.csv文件格式,然后使用chisq.test函数计算卡方和p值,如下所示:
obs<-read.csv("obs.csv")
exp<-read.csv("exp.csv")
chisq.test(obs,exp)
Run Code Online (Sandbox Code Playgroud)
其中.csv文件的格式如下:
A, C, G, T
A, 197.136, 124.32, 63.492, 59.052
C, 124.32, 78.4, 40.04, 37.24
G, 63.492, 40.04, 20.449, 19.019
T, 59.052, 37.24, 19.019, 17.689
Run Code Online (Sandbox Code Playgroud)
给定这些命令,R将给出格式的输出:
X-squared = 20.6236, df = 9, p-value = 0.01443
Run Code Online (Sandbox Code Playgroud)
其中包括我正在寻找的p值.
有谁知道自动化过程的有效方法:
1)将我的矩阵从JAVA输出到.csv文件中2)将.csv文件上传到R 3)将.csv文件上的chisq.test调用到R中4)将输出的p值返回JAVA?
谢谢你的帮助....