2012-10-11 27 views
0

我有一個DF:麻煩與一個for循環,同時重新安排一個data.frame

Years Company ID Name Return 
2003 23 622009 a  2323123 
2008 14 622008 v  2312343 
2009 43 622007 c  35345345 
2006 32 622006 d  45656554 
2005 67 622005 f  756756766 
1999 60 622004 y  4564533 
2001 63 622003 i  6756766 
2002 66 622002 m  32423412 
2008 68 622001 o  934833833 
2004 48 622000 e  34132222 

我試圖重新排列升序排序(Years列,因此最近一年(2009年排序)被在頂端)。在例如:

Years Company ID Name Return 
2009 62 622007 c  35345345 
2008 62 622008 v  2312343 
2008 62 622001 o  934833833 
2006 62 622006 d  45656554 
2005 62 622005 f  756756766 

等等...

我試圖用一個做到這一點的循環,但它提供了一個不正確的答案。我只得到最後一行:

2005 62 622005 f  756756766 

for (i in 1:length(unique(df$Year))){ 
    mm<-df[df$Year==unique(df$Year)[i],] 
} 

有人請指導我我做錯了什麼?

回答

4

使用order功能爲:

df[order(df$Years,decreasing=TRUE), ] 
+0

我得到一個錯誤,而使用您的解決方案:錯誤的順序(DF $年,減少= TRUE): 參數1不是一個向量 – user1665355

+0

什麼樣的?請在你的問題中提供容易導入的例子。 – mpiktas

+0

錯誤(df $ Years,遞減= TRUE): 參數1不是矢量 – user1665355