c++ - 在 R 包中查找 Rcpp 函数
问题描述
我想打印bh
R 包中函数的 C 代码frailtysurv
。所以我输入:
> frailtySurv:::bh
function (d_, R_star, K_, Y_, N_, N_dot, beta, theta, frailty,
weights, abstol, reltol, maxit)
{
.Call("_frailtySurv_bh", PACKAGE = "frailtySurv",
d_, R_star, K_, Y_, N_, N_dot, beta, theta, frailty,
weights, abstol, reltol, maxit)
}
<bytecode: 0x0000025263262be0>
<environment: namespace:frailtySurv>
在相应的 Github 页面顶部有这个警告:
# Generated by using Rcpp::compileAttributes() -> do not edit by hand
但后来我在“frailtySurv”库或其他可以找到该函数的文件中找不到src文件。包源中_frailtySurv_bh
没有任何功能的痕迹。.Rcpp
我知道类似的问题已经被问过几次(例如:here、here或here等)来打印由.Call
. 这些对我来说没有帮助。
关于在哪里可以找到该_frailtySurv_bh
功能的任何提示?
谢谢 :-)
解决方案
该_frailtySurv_bh
函数在RcppExports.cpp
文件中定义,该文件在此处定义,如下所示:
RcppExport SEXP _frailtySurv_bh(SEXP d_SEXP, SEXP R_starSEXP, SEXP K_SEXP, SEXP Y_SEXP, SEXP N_SEXP, SEXP N_dotSEXP, SEXP betaSEXP, SEXP thetaSEXP, SEXP frailtySEXP, SEXP weightsSEXP, SEXP abstolSEXP, SEXP reltolSEXP, SEXP maxitSEXP) {
BEGIN_RCPP
Rcpp::RObject rcpp_result_gen;
Rcpp::RNGScope rcpp_rngScope_gen;
Rcpp::traits::input_parameter< NumericVector >::type d_(d_SEXP);
Rcpp::traits::input_parameter< List >::type R_star(R_starSEXP);
Rcpp::traits::input_parameter< List >::type K_(K_SEXP);
Rcpp::traits::input_parameter< List >::type Y_(Y_SEXP);
Rcpp::traits::input_parameter< List >::type N_(N_SEXP);
Rcpp::traits::input_parameter< List >::type N_dot(N_dotSEXP);
Rcpp::traits::input_parameter< NumericVector >::type beta(betaSEXP);
Rcpp::traits::input_parameter< NumericVector >::type theta(thetaSEXP);
Rcpp::traits::input_parameter< String >::type frailty(frailtySEXP);
Rcpp::traits::input_parameter< NumericVector >::type weights(weightsSEXP);
Rcpp::traits::input_parameter< double >::type abstol(abstolSEXP);
Rcpp::traits::input_parameter< double >::type reltol(reltolSEXP);
Rcpp::traits::input_parameter< int >::type maxit(maxitSEXP);
rcpp_result_gen = Rcpp::wrap(bh(d_, R_star, K_, Y_, N_, N_dot, beta, theta, frailty, weights, abstol, reltol, maxit));
return rcpp_result_gen;
END_RCPP
}
你会看到它实际上是一个非常薄的 C++ 函数包装器,bh
它有点太长,无法在此处重现,但在此处定义。
推荐阅读
- jmeter - 多个随机值转换为多个变量 - Jmeter
- tensorflow2.0 - {'error': 'output_shape 的元素数量不正确:2 应该是:1\n\t [[{{node transform/SparseToDense_3}}]]'}
- html - Django:模板扩展。子模板找不到静态图片
- powershell - powershell 脚本安装功能未正确执行
- html - Angular:在一定时间间隔后从 url 请求和替换图像
- c# - 创建 zip 文件时此代码可能损坏了几个文件的任何原因
- jspdf - 在 React 中使用 OffScreenCanvas 将 HTML 转换为 PDF
- ckan - Shibboleth 身份验证在最新的 CKAN 版本中不起作用
- javascript - TF.js 在浏览器中为自定义类加载 model.json 格式的对象检测模型
- sass - Sass 结合 @forward 和 @use