En una función, quiero calcular valores numéricos, darles nombres y devolver un orden NumericVector
en Rcpp. Puedo ordenar los vectores (usando esto ), pero el orden de los nombres de los valores sigue siendo el mismo.
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
Quiero que la función devuelva esto:
## a c b
## 1 3 5
¿Es posible? ¿Cómo puedo conseguir esto?
44
Por supuesto. Para una primera aproximación, debe determinar el orden de clasificación y usarlo para reindexar el atributo de nombres.
—
Dirk Eddelbuettel