Hello,

Try

a3 <- array(dim=c(2, 2, 2, 2))
dn <- dimnames(a1)
dn$group <- c("low", "high")
dimnames(a3) <- dn
a3[] <- a1  # to use [] keeps the dimensions
a3          # it fills a3 recycling a1 (two copies)

dim(a2)
dim(a3)


As you can see, 'a2' is not of the right dimensions, and 'a3' has now two copies of 'a1' but it's dimensions are right. There are ways of giving dimnames to 'a3' other than creating a new object, 'dn', but this one is a simple one.

Hope this helps,

Rui Barradas

Em 02-06-2012 16:17, Patrick Hausmann escreveu:
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

Thanks for any help!
Patrick

______________________________________________
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.

______________________________________________
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.

Reply via email to