我想查看R中族的背后代码,例如:
make.link("logit")
make.link("identity")
make.link("probit")
现在在R - repsones中看到有一些函数被调用,用编程语言C编写:
示例:
.Call(C_logit_link, mu)
.Call(C_logit_linkinv, eta)
.Call(C_logit_mu_eta, eta)
现在想要访问此特定代码。我有什么方法可以做到吗?
答案 0 :(得分:2)
调用.Call
的函数在编译代码中调用入口点,因此如果要完全理解函数,则必须查看已编译代码的来源
例如,您要找的是here
SEXP logit_link(SEXP mu)
{
int i, n = LENGTH(mu);
SEXP ans = PROTECT(duplicate(mu));
double *rans = REAL(ans), *rmu=REAL(mu);
if (!n || !isReal(mu))
error(_("Argument %s must be a nonempty numeric vector"), "mu");
for (i = 0; i < n; i++)
rans[i] = log(x_d_omx(rmu[i]));
UNPROTECT(1);
return ans;
}
我建议你阅读关于如何获取任何R函数源代码的优秀答案here。
答案 1 :(得分:0)
主代码库存储在SVN存储库中。有关该信息,请参见R project developer page
github上有可用的代码库镜像,以便于搜索。例如https://github.com/wch/r-source/。您会看到这些功能存在于
/src/library/stats/src/family.c
代码中的函数名称不具有C_
前缀。