[R] Add a dim to an array

Rui Barradas ruipbarradas at sapo.pt
Sun Jun 3 08:31:01 CEST 2012


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



More information about the R-help mailing list