Skip to content
Prev 119055 / 398498 Next

Populate matrix from data.frame

Dear all,

I have a data frame
a <- data.frame(cbind(x=c('a','a','a','b','c'), 
y=c('a','b','c','d','e'),z=c(1,2,3,4,5)))
 > a
  x y z
1 a a 1
2 a b 2
3 a c 3
4 b d 4
5 c e 5

and a matrix
mm <- matrix(0,5,5)
colnames(mm) <- c('a','b','c','d','e')
rownames(mm) <- c('a','b','c','d','e')
 > mm
  a b c d e
a 0 0 0 0 0
b 0 0 0 0 0
c 0 0 0 0 0
d 0 0 0 0 0
e 0 0 0 0 0

How to populate matrix in a way that first column of data frame 'a' 
correspond to rownames(mm), second column to colnames(mm) and the third 
column is the element of matrix 'mm'?

Thanks in advance,
Andrej