順序付けられていない因子 ID、各レベルのランクの参照ベクトル、および各レベルのラベルが与えられます。ここで、指定されたランクで ID を並べ替え、その後、因子内のラベルをオーバーライドしたいと考えています。
より良い方法があれば、アドバイスをお願いします。
ID<-factor(c(1,2,2,3,1,3,3,2,1,1)+10)
Rank<-c("11"=3,"12"=1,"13"=2)
Label<-c("11"="B","12"="A","13"="C")
ID.Rank<-factor(ID, levels=names(Rank),labels=Rank)
ID.Rank<-factor(ID.Rank, levels=sort(Rank),order=T)
ID.Label<-factor(ID, levels=names(Label),labels=Label)
data.frame(ID,ID.Rank,ID.Label)
### here is importent that ID.Rank has a certain order.
factor(ID.Rank, labels=Label[match(levels(ID.Rank), Rank)])