[R] Reshape matrix from wide to long format

Daren Tan daren76 at hotmail.com
Tue Nov 25 13:19:26 CET 2008


 
I forgot the reshape equivalent for converting from wide to long format. Can someone help as my matrix is very big. The followin is just an example. 

> m <- matrix(1:20, nrow=4, dimnames=list(LETTERS[1:4], letters[1:5]))
> m
   a b c d e
 A 1 5 9 13 17
 B 2 6 10 14 18
 C 3 7 11 15 19
 D 4 8 12 16 20

> as.data.frame(cbind(rep(rownames(m), ncol(m)), rep(colnames(m), each=nrow(m)), c(m)))
 V1 V2 V3
 1 A a 1
 2 B a 2
 3 C a 3
 4 D a 4
 5 A b 5
 6 B b 6
 7 C b 7
 8 D b 8
 9 A c 9
10 B c 10
11 C c 11
12 D c 12
13 A d 13
14 B d 14
15 C d 15
16 D d 16
17 A e 17
18 B e 18
19 C e 19
20 D e 20



More information about the R-help mailing list