【发布时间】:2020-02-17 22:42:03
【问题描述】:
在一个函数中,我想计算数值,给它们命名并在 Rcpp 中返回一个排序的NumericVector。我可以对向量进行排序(使用this),但值名称的顺序保持不变。
library(Rcpp)
x <- c(a = 1, b = 5, c = 3)
cppFunction('
NumericVector foo(NumericVector x) {
std::sort(x.begin(), x.end());
return(x);
}')
foo(x)
## a b c
## 1 3 5
我希望函数返回这个:
## a c b
## 1 3 5
有可能吗?我怎样才能做到这一点?
【问题讨论】:
-
当然。大致而言,您需要确定排序顺序,并使用它来重新索引 names 属性。