Comment trier un caractère vecteur selon un ordre précis?

J'ai un caractère de vecteur qui ressemble

c("white","white","blue","green","red","blue","red")

et un ordre spécifique qui est comme

c("red","white","blue","green")

. Je voudrais trier le premier vecteur selon l'ordre de la seconde vecteur afin d'obtenir l'vectorielles suivantes : c("red","red","white","white","blue","blue", "green").
Quelle serait la meilleure solution ?

OriginalL'auteur PAC | 2013-06-10