r - Sample the maximum value on a matrix excluding value on main diagonal -


i have matrix x maximum value along main diagonal. firstly, want sample 1 row i, , pick maximum value along row excluding main diagonal value i.e max != x[i,i].

the code below produces results has error: error in if (max < l[k]) { : missing value true/false needed

# initial values n = 10 pop = runif(n,min =0,max =1) d = matrix(rnorm(n*n,0,0.2),nrow=n)  str_mat = abs(d) (l in 1:n) {   str_mat[l,l] = 1 }  int_mat = matrix(rbinom(n*n,1,z),n,n) ##z takes values 0.1 - 0.9 (j in 1:n) {   int_mat[j,j] = 1 }  x = (int_mat*str_mat)*pop b = c(1:n)  #creating vector length being dimensions of matrix = sample(b,1)## sampling 1 value vector if (sum(int_mat[a,])< n) {     ### int_mat binary matrix     break }}  l = x[a,]  ## ensuring maximum value picked not on main diagonal max = 0 j = 1 (k in 1:length(l)) {   if(k!=a) {     if (max<l[k]) {       max = l[k]       j = k     }   } } 

thanks contribution. figured out how go problem. below;

x=(int_mat*str_mat)*pop    ## creating matrix of interaction, competition strength ,  population densities               repeat{   introwsums=rowsums(int_mat)   introwsums_greater=which(introwsums>2,arr.ind = t)   if (length(introwsums_greater)>1){     a= sample(introwsums_greater,1)   }else{     a=introwsums_greater   }   if (sum(int_mat[a,])< n){     break   }}  q= abx[a,] j_k=which(q!=q[a] & q!=0,arr.ind = t)     ## sampled row in str_mat check position of zeros k=sample(j_k,1) 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -