[R] Add a dim to an array
Petr Savicky
savicky at cs.cas.cz
Sun Jun 3 08:39:30 CEST 2012
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.
More information about the R-help
mailing list