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

# all.str[[1]]] Gives access to the first struct of per.sr.struct which 
containts 101 times the xorder,yorder,estimation.sr
# all.str[[1]][[2]] Gives access to the second substruct of all.str[[1]]
# all.str[[1]][[2]][[3]] Gives access to the matrix.

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<bbol...@gmail.com>  wrote:

>  From: Ben Bolker<bbol...@gmail.com>
>  Subject: Re: [R] Help me create a hyper-structure
>  To: r-h...@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@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.
>

______________________________________________
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.

______________________________________________
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.

Reply via email to