En una función, quiero calcular valores numéricos, darles nombres y devolver un orden NumericVectoren 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?

Respuestas:
Utilizando la sugerencia que Dirk dio en su comentario, descubrí que los nombres de
xes solo otro vector. Entonces, busqué ordenar un vector usando otro vector. Usando esta respuesta SO, se me ocurren las siguientes dos soluciones:fuente