Em uma função, desejo calcular valores numéricos, atribuir nomes a eles e retornar um ordenado NumericVector
em Rcpp. Posso classificar os vetores (usando isso ), mas a ordem dos nomes dos valores permanece a mesma.
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
Eu quero que a função retorne isso:
## a c b
## 1 3 5
É possível? Como posso conseguir isso?
4
Certo. Para uma primeira aproximação, você precisa determinar a ordem de classificação e usá-la para reindexar o atributo names.
—
Dirk Eddelbuettel 17/02