crosstable[,,expand[d,1],expand[d,2],expand[d,3],...expand[d,n]] 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, for 5-dimensional data using your example:
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 d refers to the row of the matrix above - d=2 is 2,1,1 so crosstable[,,2,1,1] would retrieve all the data where Var1 =2, Var2=1, Var3=1 and the two remaining variables are given in the crosstabulations for all values. Is that any better? On Sat, Aug 23, 2008 at 10:40 AM, Robin Hankin <[EMAIL PROTECTED]> wrote: > 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@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 > [EMAIL PROTECTED] > 01223-764877 > > [[alternative HTML version deleted]] ______________________________________________ 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.