矩阵的行和列的比较

时间:2015-11-22 04:44:23

标签: r matrix

假设我们有p by n矩阵。我想生成一个输出矩阵,wp x p),例如w_ij表示i_th行数大于j_th的次数(可以在最明显的是n

我的代码在这里,我正在寻找更快捷的方式。

p <- dim(dat)[1]
n <- dim(dat)[2]
w <- matrix(0,p,p)

for(i in 1:n){
     for(j in 1:(p-1)){
         for(k in (j+1):p){
             if(dat[j,i] > dat[k,i]){                     
                   w[j,k] <- w[j,k]+1
             }else{          
                   w[k,j] <- w[k,j]+1
                   }
          }  
      }
  }

一个小例子

如果输入数据是

dat <- matrix(1:9, 3)
dat
#     [,1] [,2] [,3]
#[1,]    1    4    7
#[2,]    2    5    8
#[3,]    3    6    9

预期结果是

W <- matrix(c(0,3,3,0,0,3,0,0,0),3)
W
#     [,1] [,2] [,3]
#[1,]    0    0    0
#[2,]    3    0    0
#[3,]    3    3    0

0 个答案:

没有答案