[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