[R] Comparing two matrices

Srinivas Iyyer srini_iyyer_bio at yahoo.com
Thu Jul 6 14:18:47 CEST 2006


hi:

I have matrix with dimensions(200 X 20,000). I have
another file, a tab-delim file where first column
variables are row names and second column variables
are column names. 


For instance:

> tmat
  Apple Orange Mango Grape Star
A     0      0     0     0    0
O     0      0     0     0    0
M     0      0     0     0    0
G     0      0     0     0    0
S     0      0     0     0    0



> tb # tab- delim file. 
      V1 V2
1  Apple  S
2  Apple  A
3  Apple  O
4 Orange  A
5 Orange  O
6 Orange  S
7  Mango  M
8  Mango  A
9  Mango  S


I have to read each line of the 'tb' (tab delim file),
take the first variable, check if matches any rowname
of the matrix. Take the second variable of the row in
and check if it matches any column name.  If so,  put
1 else leave it. 


The following is a small piece of code that, I felt is
a solutions. However, since my original matrix and
tab-delim file is very very huge, I am not sure if it
is really doing the correct thing. Could any one
please help me if I am doing this correct. 



> for(i in 1:length(tb[,1])){
+  r = tb[i,1]
+  c = as.character(tb[i,2])
+  tmat[rownames(tmat)==c,colnames(tmat)==r] <-1
+ }



> tmat
  Apple Orange Mango Grape Star
A     1      1     1     0    0
O     1      1     0     0    0
M     0      0     1     0    0
G     0      0     0     0    0
S     1      1     1     0    0



Thanks.



More information about the R-help mailing list