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.