r - 如何修复“无法将对象转换为函数:[type=NULL;target=CLOSXP、SPECIALSXP 或 BUILTINSXP]?”
问题描述
我正在尝试将两个 R 函数集成到 rcpp。我的代码在 rcpp 中,我需要从“genlasso”包中包含两个 R 函数。
特别是,我的代码如下:
// [[Rcpp::depends(RcppArmadillo)]]
#include<RcppArmadillo.h>
using namespace Rcpp;
using namespace arma;
// [[Rcpp::export]]
List Rcpp_fusedlasso1d(NumericVector y, NumericMatrix X){
// Obtaining namespace of Genlasso package
Environment pkg = Environment::namespace_env("genlasso");
// Picking up fusedlasso1d function from genlassopackage
Function f = pkg["fusedlasso1d"];
List fs = f(y,Named("X",X));
return fs;
}
// [[Rcpp::export]]
List Rcpp_coef(List fs,double lambda2){
Environment pkg = Environment::namespace_env("genlasso");
Function g = pkg["coef"];
return g(fs,Named("lambda",lambda2));
}
/*** R
n = 100
i = 1:n
y = (i > 20 & i < 30) + 5*(i > 50 & i < 70) +rnorm(n, sd=0.1)
p=3
X = matrix(rnorm(n*p),nrow=n)
fs<-Rcpp_fusedlasso1d(y,X)
Rcpp_coef(fs,0.2)
*/
我尝试了不同的变体来克服这个问题,但没有用,我总是收到以下错误“无法将对象转换为函数:[type=NULL; target=CLOSXP, SPECIALSXP, or BUILTINSXP]”。PS R中“coef”函数的输出类型是“list”。
先感谢您。
解决方案
推荐阅读
- python - 尝试根据表中的值计算 Python sqlite3 中的百分比
- sorting - 如何在jqGrid中将初始排序顺序设置为降序
- html - 模块构建失败:SyntaxError: Unexpected token (10:0) when added css to .css file
- arrays - 循环遍历 SQL Server 中的对象数组并出现错误:JSON 文本格式不正确
- python - 如何从数组中删除随机元素。Python
- reactjs - 使用 RxJS6 进行多次 ajax 调用的最佳方式
- sql - 根据其他表中使用的外键访问表中的所有行
- javascript - 承诺并提交
- python - 如何在用户在 python 中提供的 2D 列表中找到最小值、最大值和总数以及平均值?
- firebase - 无法使用服务帐号执行 Firestore 导出