首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩阵重组

矩阵重组
EN

Stack Overflow用户
提问于 2013-02-24 15:42:53
回答 1查看 567关注 0票数 1

我有一个6行的矩阵和一个长度为6的向量,我想用它们来重组矩阵。

新矩阵的第一行应该包含位于向量第一个数值的行。

新矩阵的第二行应该包含位于向量第二个数值的行。

下面是一个示例:

代码语言:javascript
复制
> Matrix <- matrix(rnorm(30),nrow=6,ncol=5)
> Vector <- c(1,3,6,2,4,5)

操作后的实际第一行将位于第一行位置。实际的第二行将在操作后位于第三行位置。实际的第三行将在操作后位于第六行位置。等等..。

我希望我的解释足够清楚!

为了使我的问题更清楚,我做了这个编辑。

编辑:

代码语言:javascript
复制
> Matrix=matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=T)
> Matrix

        [,1][,2][,3]
    [1,] 1    2   3
    [2,] 4    5   6  
    [3,] 7    8   9

> Vector=c(2,3,1)

为了获得以下内容,我想重新组织行:

代码语言:javascript
复制
> NewMatrix=matrix(c(4,5,6,7,8,9,1,2,3),byrow=T)
> NewMatrix

        [,1][,2][,3]
    [1,] 4    5   6
    [2,] 7    8   9 
    [3,] 1    2   3

第二排现在在第一位置,第三排现在在第二位置,第一排现在在第三位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-24 15:49:07

使用矢量索引:

代码语言:javascript
复制
Matrix[Vector,]

要查看正在发生的事情,最好使用不同的Matrix

代码语言:javascript
复制
Matrix=matrix(1:30, nrow=6)
Matrix
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    7   13   19   25
## [2,]    2    8   14   20   26
## [3,]    3    9   15   21   27
## [4,]    4   10   16   22   28
## [5,]    5   11   17   23   29
## [6,]    6   12   18   24   30
Matrix[Vector,]
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    7   13   19   25
## [2,]    3    9   15   21   27
## [3,]    6   12   18   24   30
## [4,]    2    8   14   20   26
## [5,]    4   10   16   22   28
## [6,]    5   11   17   23   29
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15053383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档