Estoy usando operadores coincidentes para tomar valores que aparecen en una matriz desde un marco de datos separado. Sin embargo, la matriz resultante tiene los valores en el orden en que aparecen en el marco de datos, no en la matriz original. ¿Hay alguna manera de preservar el orden de la matriz original usando el operador de coincidencia?R - conservar el orden cuando se utilizan operadores coincidentes (% en%)
Aquí está un ejemplo rápido:
vec=c("b","a","c"); vec
df=data.frame(row.names=letters[1:5],values=1:5); df
df[rownames(df) %in% vec,1]
Esto produce > [1] 1 2 3
que es el orden "a" "b" "c"
aparece en la trama de datos. Sin embargo, me gustaría generar >[1] 2 1 3
que es el orden en que aparecen en el vector original.
Gracias!
puntos de bonificación por utilizar la indexación de nombres de fila, pero ambas soluciones funcionan. ¡Gracias! – jslefche