On Sat, Jun 02, 2012 at 05:17:36PM +0200, Patrick Hausmann wrote: > Dear list, > > I'm trying to add a new dim to a multidimensional array. My array looks > like this > > a1 <- array(1:8, c(2, 2, 2)) > dimnames(a1) <- list(A = c("A1", "A2"), > B = c("B1", "B2"), > D = c("D1", "D2")) > > I would like to add a new dim 'group' with the value "low". Right now > I'm using this, but I think are better ways... > > a2 <- as.data.frame(as.table(a1)) > a2$group <- "low" > a2 <- xtabs(Freq ~ A + B + D + group, data = a2) > a2
Hi. Try the following. a1 <- array(1:8, c(2, 2, 2)) dimnames(a1) <- list(A = c("A1", "A2"), B = c("B1", "B2"), D = c("D1", "D2")) a2 <- array(a1, c(2, 2, 2, 1)) dimnames(a2) <- c(dimnames(a1), list(group = "low")) a2 , , D = D1, group = low B A B1 B2 A1 1 3 A2 2 4 , , D = D2, group = low B A B1 B2 A1 5 7 A2 6 8 Hope this helps. Petr Savicky. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.