首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在第三矩阵序列之后分别排列2个矩阵

在第三矩阵序列之后分别排列2个矩阵
EN

Stack Overflow用户
提问于 2016-04-07 06:48:34
回答 2查看 32关注 0票数 0

我有两个矩阵A和B(都是4x4),代表排名。Group1为1-4级,2组为5-8级.

代码语言:javascript
复制
A:                     B: 
(1 2 3 4)..............(5 6 7 8) 
(1 2 3 4)..............(5 6 7 8) 
(1 2 3 4)..............(5 6 7 8) 
(1 2 3 4)..............(5 6 7 8)

然后我有另一个矩阵C (4x8矩阵),它在另一个星座中有1-8 (但)阶:

代码语言:javascript
复制
C:
(8 3 1 4 2 7 5 6) 
(5 1 7 3 6 2 8 4) 
(7 3 2 1 8 4 6 5) 
(4 2 1 6 7 8 5 3)

现在,我想在C的方案/序列之后重新排序矩阵A和矩阵B,解决方案应该如下:

代码语言:javascript
复制
A_new:                B_new:
(3 1 4 2)             (8 7 5 6) 
(1 3 2 4)             (5 7 6 8) 
(3 2 1 4)             (7 8 6 5) 
(4 2 1 3)             (6 7 8 5)

我希望有人能给我一个提示,因为在正常的“排序”和“排序”功能中,我没有成功。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-07 07:15:04

在C中使用的是每一行1到4的顺序和5到8的顺序。

检查代码:

代码语言:javascript
复制
set.seed(123)
A<-matrix(1:4,nrow = 4,ncol =4,byrow = T)
B<-matrix(5:8,nrow = 4,ncol =4,byrow = T)
C<-matrix(sample(x = 1:8,size = 8),nrow = 4,ncol =8,byrow = T)

我将结果存储在不同的矩阵中。

代码语言:javascript
复制
A1<-matrix(nrow = 4,ncol = 4)
B1<-matrix(nrow = 4,ncol = 4)

结果

代码语言:javascript
复制
for(i in 1:nrow(C)){
  vect<-C[i,]
  A1[i,]<-A[i,vect[vect<=ncol(A)]]
  B1[i,]<-B[i,(vect[vect>ncol(A)])-ncol(A)]
}
票数 0
EN

Stack Overflow用户

发布于 2016-04-07 08:43:24

A<-matrix(c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4),4,4,byrow=T) B<-matrix(c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4),4,4,byrow=T)

C<-matrix(c(8,3,1,4,2,7,5,6,5,1,7,3,6,2,8,4,7,3,2,1,8,4,6,5,4,2,1,6,7,8,5,3),4,8,byrow=T)

for(i in 1:nrow(C)){

A[i,]<-A[i,C[i,C[i,C[i,]<=ncol(A)]]] B[i,]<-B[i,(C[i,C[i,C[i,]>ncol(A)])-ncol(A)]] }

这是目前为止的代码,我得到了两条错误消息:意外符号:')‘in:“Ai,<-A[i,C[i,C[i,Ci,<=ncol(A)]] Bi,<-B[i,C[i,C[i,Ci,>ncol(A)]]”

没有括号:“超出范围的索引”

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36468662

复制
相关文章

相似问题

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