[R] Generalising to n-dimensions

Robin Hankin rksh1 at cam.ac.uk
Tue Sep 23 11:40:28 CEST 2008


First bit:

 > x <- c(3,2,2)
 > expand.grid(sapply(x,seq_len))
   Var1 Var2 Var3
1     1    1    1
2     2    1    1
3     3    1    1
4     1    2    1
5     2    2    1
6     3    2    1
7     1    1    2
8     2    1    2
9     3    1    2
10    1    2    2
11    2    2    2
12    3    2    2
 >


second bit I'm not sure about.  I didn't quite get why d=2 implied the 
order is 2,1.
Could you post a small self-contained example?

HTH

rksh



Laura Bonnett wrote:
>  Hi R-helpers,
>
> I have two queries relating to generalising to n dimensions:
>
> What I want to do in the first one is generalise the following statement:
> expand<-expand.grid(1:x[1],1:x[2],...1:x[n]) where x is a vector of integers
> and expand.grid gives every combination of the set of numbers, so for
> example, expand.grid(1:2, 1:3) takes 1,2 and 1,2,3  and gives 1,1   2,1
> 1,2   2,2   1,3   2,3
> My x vector has varying lengths and I can't find a way of giving it every
> set without stating each set individually.
>
> Secondly and similarly, I want to get the table within crosstable that has
> the elements defined by the combinations given in expand above
> crosstable[,,expand[d,1],expand[d,2],expand[d,3],...expand[d,n]] where
> crosstable is just a crosstabulation of an n+2-dimensional dataset and I am
> trying to pick out those that are in combination 'd' of expand.
> So for example, using x[1]=2 and x[2]=3 as above example, if d =2 then the
> order is 2,1 so I take crosstable[,,2,1].
>
> Can anyone suggest a way to give the code every set without stating each set
> individually?
>
> Thank you
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>   


-- 
Robin K. S. Hankin
Senior Research Associate
Cambridge Centre for Climate Change Mitigation Research (4CMR)
Department of Land Economy
University of Cambridge
rksh1 at cam.ac.uk
01223-764877



More information about the R-help mailing list