Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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
如何在R中使用for循环,而不是通过保留其行名在矩阵中应用_R_For Loop_Matrix - Fatal编程技术网

如何在R中使用for循环,而不是通过保留其行名在矩阵中应用

如何在R中使用for循环,而不是通过保留其行名在矩阵中应用,r,for-loop,matrix,R,For Loop,Matrix,我有一个矩阵“acc”,按年份排列成行 J F M 1989 438.1 364.9 400.9 1990 359.3 397.9 272.0 1991 295.3 309.8 297.8 如果我使用apply对列进行排序,R无法将行名作为矩阵保存,因此我需要将它们逐个排列,以保持如下状态: J F M 1991 295.3 1991 309.8

我有一个矩阵“acc”,按年份排列成行

       J     F     M   
1989 438.1 364.9 400.9  
1990 359.3 397.9 272.0  
1991 295.3 309.8 297.8 
如果我使用apply对列进行排序,R无法将行名作为矩阵保存,因此我需要将它们逐个排列,以保持如下状态:

         J                 F                 M
1991   295.3      1991   309.8      1990   272.0
1990   359.3      1989   364.9      1991   297.8
1989   438.1      1990   397.9      1989   400.9
J<-sort(acc[,1])
F<-sort(acc[,2])
M<-sort(acc[,3])
我必须按列执行排序函数,但要保留它们的行名,因此我要执行许多类似以下的数组:

         J                 F                 M
1991   295.3      1991   309.8      1990   272.0
1990   359.3      1989   364.9      1991   297.8
1989   438.1      1990   397.9      1989   400.9
J<-sort(acc[,1])
F<-sort(acc[,2])
M<-sort(acc[,3])

J要执行所需操作,可以先保存行名,按列排序,然后重新分配行名

首先是一个测试数据集

acc <- matrix(30:1, nrow = 10)
rownames(acc) <- paste("Year", 1:10, sep = ".")

acc您能分享最少的数据并显示预期输出吗?我再次编辑问题,谢谢您的帮助