1
我一直在想如何根據同一個data.frame中的另一列的值來排列因子。我一直用這個問題作爲我努力的基礎:根據另一列的數值設置因子水平
R - Order a factor based on value in one or more other columns
在我的例子,我喜歡的ftor
由order_ID
設置的級別。 order_ID
只是訂單的排名。以下是我迄今爲止:
df <- data.frame(order_ID=c(5,3,1,4,2),
ftor=LETTERS[1:5])
df$ftor <- factor(df$ftor, levels=df[order(df$order_ID),], ordered=TRUE)
這是我所得到的,當我嘗試上述嘗試後水平:
> levels(df$ftor)
[1] "c(1, 2, 3, 4, 5)" "c(3, 5, 2, 4, 1)"
基於對order_ID
這裏的價值是什麼,我期待:
> levels(df$ftor)
[1] "C" "B" "E" "D" "A"
總之,任何人都可以推薦一種方法,我可以使用一列的水平來設置同一個data.frame中的另一個因子的水平?
它應該是'水平= DF $ ftor [順序(DF $ ORDER_ID)]' –
完美! @RichScriven是你想把這個作爲答案,我會接受這個。我看到了這個問題。謝謝您的幫助。 – boshek