Can I ask what a and v are?

Thanks,

Laura

On Sat, Aug 23, 2008 at 11:41 AM, Robin Hankin <rksh1@cam.ac.uk> wrote:

> Laura Bonnett wrote:
>
>> 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?
>>
>>
> OK  I think I understand.  The magic package uses this type of construction
> extensively, but not this particular one.
>
> It's trickier than I'd have expected.
>
> Try this:
>
> f <- function(a,v){
>   jj <-
> sapply(dim(a)[seq_len(length(dim(a))-length(v))],seq_len,simplify=FALSE)
>   jj <- c(jj , as.list(v))
>   do.call("[" , c(list(a) , jj, drop=TRUE))
> }
>
>
>
> [you will have to coerce the output from expand.grid() to a matrix in order
> to extract a row from it]
>
>
> HTH
>
> rksh
>
>
>
>
>
>
>
>
> --
> Robin K. S. Hankin
> Senior Research Associate
> Cambridge Centre for Climate Change Mitigation Research (4CMR)
> Department of Land Economy
> University of Cambridge
> rksh1@cam.ac.uk
> 01223-764877
>
>

	[[alternative HTML version deleted]]

