Sto utilizzando operatori corrispondenti per acquisire i valori visualizzati in una matrice da un frame di dati separato. Tuttavia, la matrice risultante ha i valori nell'ordine in cui appaiono nel frame di dati, non nella matrice originale. C'è un modo per preservare l'ordine della matrice originale usando l'operatore corrispondente?R: conserva l'ordine quando si utilizzano gli operatori corrispondenti (% in%)
Ecco un breve esempio:
vec=c("b","a","c"); vec
df=data.frame(row.names=letters[1:5],values=1:5); df
df[rownames(df) %in% vec,1]
Questo produce > [1] 1 2 3
che è l'ordine "a" "b" "c"
appare nella cornice dati. Tuttavia, mi piacerebbe generare >[1] 2 1 3
che è l'ordine in cui appaiono nel vettore originale.
Grazie!
per l'utilizzo dell'indicizzazione dei nomi delle righe, ma entrambe le soluzioni funzionano. Grazie! – jslefche