【发布时间】:2016-09-28 17:16:39
【问题描述】:
假设我有两个绑定在一起的方阵(实际上更多):
mat = matrix(1:18,nrow=3,ncol=6)
mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 4 7 10 13 16
[2,] 2 5 8 11 14 17
[3,] 3 6 9 12 15 18
我想对每个 (3x3) 矩阵进行转置并将它们并排粘在一起,所以结果是:
mat2
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 2 3 10 11 12
[2,] 4 5 6 13 14 15
[3,] 7 8 9 16 17 18
我不想手动执行此操作,因为它是许多矩阵 c 绑定在一起,而不仅仅是 2 个。
我想要一个避免循环或应用的解决方案(这只是循环的包装器)。我需要高效的解决方案,因为这必须运行数万次。
【问题讨论】:
-
我不知道如何在不循环的情况下执行此操作,因此我没有解决方案...
-
哈哈,如果你有更好的标题,也请随意编辑。我无法通过搜索找到解决方案,但我什至不确定描述我正在尝试做的事情的准确语言。
-
“真正的”问题中是否有三行,还是有更多行?
-
真实有5-6个
-
matrix(t(m), nrow=nrow(m))[, c(matrix(1:ncol(m), nrow(m), byrow=T)) ]