# [R] Help me create a hyper-structure

Alaios alaios at yahoo.com
Mon Apr 18 15:34:16 CEST 2011

```Thank you very much . That was really helpful.
I will keep this email for future reference

Regards

--- On Mon, 4/18/11, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:

> From: Duncan Murdoch <murdoch.duncan at gmail.com>
> Subject: Re: [R] Help me create a hyper-structure
> To: "Alaios" <alaios at yahoo.com>
> Cc: r-help at stat.math.ethz.ch, "Ben Bolker" <bbolker at gmail.com>
> Date: Monday, April 18, 2011, 2:31 PM
> On 18/04/2011 4:45 AM, Alaios wrote:
> > It seems you were right.
> > Now I can easily access my struct and substruct like
> this
> >
> per.sr.struct which containts 101 times the
> xorder,yorder,estimation.sr
> substruct of all.str[[1]]
>
> Something that may not be obvious is that
>
> all.str[[1]][[2]][[3]]
>
>
> can also be written as
>
> all.str[[c(1,2,3)]]
>
>
> This is useful when the structure is an irregular shape,
> because the vector c(1,2,3) could be stored in a variable,
> and on the next call it could have a different length.
>
> Be careful though:  all.str[c(1,2,3)] (with single
> brackets) means something quite different:  it means
>
> list(all.str[[1]], all.str[[2]], all.str[[3]])
>
> i.e. a subset of the top level indices.
>
> Duncan Murdoch
>
>
> > Now I would like to ask you if in R cran I can make
> struct assignments like this
> >
> >
> >      all.str[[i]]<-TempApproxstruct
> >
> >
> > where all.str[[i]] is  a list that contains 100
> times the
> >   \$ :List of 3
> >    ..\$ xorder
>    : int 0
> >    ..\$ yoder        :
> int 0
> >    ..\$ estimation.sr: logi [1:256, 1:256] NA
> NA NA NA NA NA ...
> >   \$ :List of 3
> >    ..\$ xorder
>    : int 0
> >    ..\$ yoder        :
> int 0
> >    ..\$ estimation.sr: logi [1:256, 1:256] NA
> NA NA NA NA NA ...
> > .... and so on
> >
> > where str(temp.per.sr.struct) is a list that contains
> 100 times the
> >   \$ :List of 3
> >    ..\$ xorder
>    : int 0
> >    ..\$ yoder        :
> int 0
> >    ..\$ estimation.sr: logi [1:256, 1:256] NA
> NA NA NA NA NA ...
> >   \$ :List of 3
> >    ..\$ xorder
>    : int 0
> >    ..\$ yoder        :
> int 0
> >    ..\$ estimation.sr: logi [1:256, 1:256] NA
> NA NA NA NA NA ...
> >    [list output truncated]
> > ...and so on.
> >
> > Will R understand this kind of assignments or not?
> >
> > I would like to thank you in advance for your help
> > Best Regards
> > Alex
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --- On Sat, 4/16/11, Ben Bolker<bbolker at gmail.com>
> wrote:
> >
> > >  From: Ben Bolker<bbolker at gmail.com>
> > >  Subject: Re: [R] Help me create a
> hyper-structure
> > >  To: r-help at stat.math.ethz.ch
> > >  Date: Saturday, April 16, 2011, 3:39 PM
> > >  Alaios<alaios<at>
> > >  yahoo.com>  writes:
> > >
> > >  >
> > >  >  Dear all
> > >  >  I would like to have in R a big
> struct containing a
> > >  smaller struct.
> > >  >
> > >  >  1) I would like to have a small
> struct with the
> > >  following three fields
> > >  >  xorder (an integer ranging from
> 0 to 20)
> > >  >  yorder (an integer ranging from
> 0 to 20)
> > >  >  estimated (a 256*256 matrix)
> > >  >
> > >  >  2) I would like to have 10
> elements of the struct
> > >  above
> > >  >  for that I wrote the following:
> > >  >
> > >  Estimationstruct<- function ( xorder,
> yorder,
> > >  estimated) {
> > >     list (xorder= xorder,
> > >  yorder=yorder,estimated=estimated)
> > >  }
> > >
> > >  per.sr.struct<- replicate(10,
> > >
> > >
> Estimationstruct(0L,0L,matrix(nrow=256,ncol=256)),
> > >      simplify=FALSE)
> > >
> > >  >  That one worked.
> > >  >  per.sr.struct contains 10
> elements and each one of
> > >  that contains 1).
> > >
> > >  all.sr.struct
> > >
> <-   replicate(20,per.sr.struct,simplify=FALSE)
> > >
> > >  >  The idea is to have 20
> all.sr.stuct and each element
> > >  >  to contain one per.sr.struct.
> > >
> > >     I think you just missed
> simplify=FALSE in the last
> > >  step ...
> > >
> > >
> ______________________________________________
> > >  R-help at r-project.org
> > >  mailing list
> > >  https://stat.ethz.ch/mailman/listinfo/r-help
> > >  and provide commented, minimal,
> self-contained,
> > >  reproducible code.
> > >
> >
> > ______________________________________________
> > R-help at r-project.org
> mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help