RcppArmadillo:有没有办法保留名字?

RcppArmadillo: Is there a way to keep names?

考虑以下代码:

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。

R对象可以有属性。这就是行和列名称的存储方式。

事前 犰狳物体没有那样的东西。您需要添加它。