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对象可以有属性。这就是行和列名称的存储方式。
事前 犰狳物体没有那样的东西。您需要添加它。
考虑以下代码:
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对象可以有属性。这就是行和列名称的存储方式。
事前 犰狳物体没有那样的东西。您需要添加它。