[R] Help on improving an algorithm
    li li 
    hannah.hlx at gmail.com
       
    Wed Jul 27 22:41:46 CEST 2016
    
    
  
Hi all,
 I have four matrix tmp_a, tmp_b, tmp_c and tmp_d whose dimensions are
shown as below.
I want to take one row from each of these matrices and then put the four
selected rows into a matrix.
I want to count the number of such matrices for which the vector of row sum
is less than or equal to (8,8,8,8,8) (componentwise).
Below is the code I use now. Is there a way to make this more efficient and
faster?
 Thanks for the help in advance.
> dim(tmp_a);dim(tmp_b); dim(tmp_c); dim(tmp_d)[1] 252   6
[1] 126   6
[1] 126   6
[1] 126   6
p <- 0
for (i in 1:dim(tmp_a)[1]){
    for (j in 1:dim(tmp_b)[1]){
        for (k in 1:dim(tmp_c)[1]){
            for (l in 1:dim(tmp_c)[1]){
            conti <- rbind(tmp_a[i,], tmp_b[j,], tmp_c[k,],tmp_d[l,])
            if (sum(apply(conti,1,sum)>8)==0)
                p <- p+1
                print(p)}}}}
	[[alternative HTML version deleted]]
    
    
More information about the R-help
mailing list