2014-02-20 20 views
0

我想這個數據幀進行排序的預定義列表排序:與R中

Age grade name 
21.0 6 John 
21.0 6 Paul 
22.8 4 Jake 

隨着名稱的列表的幫助:

Paul, Jake, John 

什麼是最簡單的方法來做到這一點?

回答

5

數據生成:

txt <- 
"Age grade name 
21.0 6 John 
21.0 6 Paul 
22.8 4 Jake " 
df <- read.table(text=txt, header=T) 

爲了支持自定義排序,你可以轉換柱與指定級別係數:

df$name <- factor(df$name, levels=c("Paul", "Jake", "John")) 

現在訂購df[order(df$name),]給出:

Age grade name 
2 21.0  6 Paul 
3 22.8  4 Jake 
1 21.0  6 John 
+3

應加一個說明,以明確'訂單'的行爲是因素的數字順序,而不是它們的a lpha排序順序。 –