[R] function to populate a matrix based on a lookup to another matrix ?

peter leonard pfleonard at hotmail.com
Sat May 31 17:35:46 CEST 2003


Hi,

This is a beginner R question.

I have a  4x4 matrix  named 'lookup' with the following values:

            1         2               3          4
1 0.000000 2.828427 5.656854 8.485281
2 2.828427 0.000000 2.828427 5.656854
3 5.656854 2.828427 0.000000 2.828427
4 8.485281 5.656854 2.828427 0.000000

I then create a new empty matrix named 'dd' with specfic row and col names :

   1   3   4   3    3   1
1 NA NA NA NA NA NA
2 NA NA NA NA NA NA
3 NA NA NA NA NA NA
4 NA NA NA NA NA NA
3 NA NA NA NA NA NA
2 NA NA NA NA NA NA
1 NA NA NA NA NA NA

I want to be able populate the cells in 'dd' using 'lookup' based on the 
specified rownames and colnames of 'dd'. For example, the cell in 'dd' where 
the rowname =2 and the colname = 1 should be assigned the value 2.828427 .

I've tried several ways of doing this with the apply function  but without 
success. I can do it with a for loop but I want to avoid that for efficiency 
reasons.

After running the function, as an example, the first column of 'dd' should 
look like this :

             1
1 0.000000000
2 2.828427125
3 5.656854249
4 8.485281374
3 5.656854249
2 2.828427125
1 0.000000000

Can anyone please help me identify the required function or an alternative 
way of achieving the same result? Hopefully this is simple and I'm just not 
seeing it.

Thanks
Peter




More information about the R-help mailing list