I wanted to normalise table m1 into m2 and then get m1 back from m2. I did: m1 <- matrix( 11:16, 3, 2, byrow=T ) rownames(m1) <- letters[1:3] colnames(m1) <- toupper( letters[1:2] ) #-> m1 # A B # a 11 12 # b 13 14 # c 15 16 val <- as.vector(m1) m2.index <- expand.grid( f1 = rownames(m1), f2 = colnames(m1) ) m2 <- cbind( m2.index, val ) #-> m2 # f1 f2 val # 1 a A 11 # 2 b A 13 # 3 c A 15 # 4 a B 12 # 5 b B 14 # 6 c B 16 m1.from.m2 <- matrix( m2$val, nlevels(m2$f1), nlevels(m2$f2) ) rownames(m1.from.m2) <- levels(m2$f1) colnames(m1.from.m2) <- levels(m2$f2) #-> m1.from.m2 # A B # a 11 12 # b 13 14 # c 15 16 m3 <- m2[c(1:2,4:6),] #-> m3 # f1 f2 val # 1 a A 11 # 2 b A 13 # 3 a B 12 # 4 b B 14 # 5 c B 16 m1.from.m3 <- ??? My questions: - Is there a better/other way to get m2 from m1? - Is there a better/other way to get m1.2 from m2? - How to get m1.3 from m3 which would be m1.2 with NA instead of 15? Thanks. Wolfram Fischer -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._