Hi, dear all:
   I am a beginner. I appreciate any help or hint from you.
   I am trying to do calculation with matrices. I have 3 matrices. One is matrixA, 2nd is matrixB, and last is matrixC.
    Here is matrixA:
       1.8511.40.0831.001
0.8771.30.1161.33
1.9021.21.1020.302
0.8640.1261.110.252
1.8230.2161.0020.307

Next is matrixB:
     0.8761.770.1930.328
0.8911.0090.2381.004
0.8641.1150.2760.22
0.8871.3060.1660.239
0.8521.0011.0080.251

Last is matrixC:
 0.5  1.0   0.5  1.0
1.0   1.0  1.0   0.5
1.0   1.0  1.0   0.5
1.0   1.0  1.0   0.5
0.5   0.5  1.0   0.5

What I want is to match both matrixA and matrixB with matrixC. Ignore the 1st column in matrixA and matrixB. When the element im matrixC is 1.0, multilply the corresponding element in matrixA by the corresponding element in matrixB. Otherwise, ignore it. I wrote the following code with some error in the logic:

  
A<-read.table('matrixA.txt', header=F)
B<-read.table('matrixB.txt', header=F)
C<-read.table('matrixC.txt', header=F)
a1<-as.matrix(A[,1])
arest<-as.matrix(A[,2:5])
b1<-as.matrix(B[,1])
brest<-as.matrix(B[,2:5])
C<-as.matrix(C)
if(C= =1){
ra<-(arest*brest)
}else {
throw<-(arest*brest)
}
ra

I got a warning message: 
Warning message:the condition has length > 1 and only the first element will be used in: if.....

When I changed the if part to:
 ifelse (C= =1,ra<-(arest*brest),throw<-(arest*brest))
   
The result is the multiplication of each element in matrixA and matrixB.

Anyone has an idea about what is wrong. Thanks

Riddle


      ____________________________________________________________________________________
Be a better friend, newshound, and 


	[[alternative HTML version deleted]]

