Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新排列data.frame时for循环出现问题_R - Fatal编程技术网

重新排列data.frame时for循环出现问题

重新排列data.frame时for循环出现问题,r,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

我有一个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
我正在尝试按升序重新排列
年份
列的顺序(因此最近一年(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],]
}
2005 62 622005 f 756756766
对于(1中的i:长度(唯一(df$年))){

mm使用
命令
功能:

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

使用
order
功能:

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

我在使用您的解决方案时出错:按顺序出错(df$Years,递减=TRUE):参数1不是矢量什么类型?请在问题中提供易于导入的示例。按顺序出错(df$Years,递减=TRUE):参数1不是矢量,但我仍然想知道为什么“for”循环只返回去年的数据。frame…因为在循环的每次迭代中
mm
都被覆盖。使用您的解决方案时,我得到一个错误:按顺序错误(df$Years,递减=TRUE):参数1不是矢量什么类型?请在您的问题中提供易于导入的示例。顺序错误(df$Years,discreating=TRUE):参数1不是矢量,但我仍然想知道为什么“for”循环只返回去年的数据。frame…因为在循环的每次迭代中
mm
都会被覆盖。