2012-02-06 170 views
3

我有一個相當簡單的data.frame(fract_data),我試圖排序,但是當我應用ORDER函數時,只返回第一行。不應該返回所有行嗎?我應該如何使用ORDER來返回所有行?爲什麼ORDER只返回第一行

fract_data[order("date"),] 
     date code rank.ey rank.roce rank.combined rank.final fract 
1 2005-01-31 ABC  1   8    9   4  3 

如下所示有48行中fract_data

attributes(fract_data) 
$names 
[1] "date"   "code"   "rank.ey"  "rank.roce"  "rank.combined" "rank.final" "fract"   

$class 
[1] "data.frame" 

$row.names 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 
[42] 42 43 44 45 46 47 48 

它也不會出現是一個打印或顯示問題下面給出返回的屬性,其中fract_data2僅具有1的行。

> fract_data2 <- fract_data[order("date"),] 
> attributes(fract_data2) 
$names 
[1] "date"   "code"   "rank.ey"  "rank.roce"  "rank.combined" "rank.final" "fract"   

$row.names 
[1] 1 

$class 
[1] "data.frame" 

回答

12

order()期望的一個或多個載體,以及你給它僅包含一個元件,「日期」的字符向量。改爲嘗試fract_data[order(fract_data$date), ]

+0

輝煌,謝謝,我認爲這會很簡單。謝謝你的幫助。非常感激。 – 2012-02-06 06:28:49

+0

嘗試'安排(fract_data,日期)'在包'plyr'中 – baptiste 2012-02-07 06:20:16

相關問題