请考虑以下代码:
funSrc33a <- '
NumericVector A = as<NumericVector>(in1);
return wrap(A);
'
funSrc33b <- '
using namespace arma;
vec A = as<vec>(in1);
return wrap(A);
'
iFun33a <- cxxfunction(sig = signature(in1 = "numeric"), funSrc33a, plugin = "Rcpp")
iFun33b <- cxxfunction(sig = signature(in1 = "numeric"), funSrc33b, plugin = "RcppArmadillo")
foo = c("First" = 1, "Second" = 2)
iFun33a(foo)
iFun33b(foo)
最终结果是:
> iFun33a(foo)
First Second
1 2
> iFun33b(foo)
[,1]
[1,] 1
[2,] 2
是否有可能让犰狳保留输入向量中的名称,如Rcpp :: NumericVector?我想iFun33b的输出镜像iFun33a。
答案 0 :(得分:2)
R对象可以具有属性。这就是存储行和列名称的方式。
事前 Armadillo对象没有这样的东西。你需要添加它。