在重新排列data.frame时遇到for循环问题

时间:2012-10-11 13:27:22

标签: r

我有一个df:

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

依旧......

我尝试使用for循环但是它给出了错误的答案。我只得到最后一行:

2005    62  622005  f       756756766

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

有人可以指导我做错了吗?

1 个答案:

答案 0 :(得分:4)

使用order功能:

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