Hello all,

Maybe I'm being thick, but I was trying to figure out a simple way to create
a list with the same dimension of another list, but populated with NA
values.

    masterlist = list(
            aa=list(
                    a=matrix(rnorm(100),10,10),
                    b=matrix(rnorm(130),13,10),
                    c=matrix(rnorm(140),14,10)),
            bb=list(
                    a=matrix(rnorm(100),10,10),
                    b=matrix(rnorm(110),11,10),
                    c=matrix(rnorm(120),12,10)),
            cc=list(
                    a=matrix(rnorm(100),10,10),
                    b=matrix(rnorm(100),10,10),
                    c=matrix(rnorm(100),10,10)),
            dd=matrix(rnorm(225),15,15))
    str(masterlist)
    ## Yay!  A new list that's just like the master list!
    newlist = masterlist
    ## BOO!  Can't just set all the values to NA!
    newlist = masterlist * NA

    ## This works... but requires knowledge of the structure
    newlist = masterlist
    newlist[['aa']] = lapply(masterlist[['aa']], function(x) x * NA)
    newlist[['bb']] = lapply(masterlist[['bb']], function(x) x * NA)
    newlist[['cc']] = lapply(masterlist[['cc']], function(x) x * NA)
    newlist[['dd']] = masterlist[['dd']] * NA
    str(newlist)

At this point I thought a recursive function would be a good idea, but I
wasn't sure how to keep the nice list names.

I feel sure that this must be something that others have already done.

Thank you!!!

PS:
I found an email in the archive about it, but that email un-helpfully
instructed the user to LEARN HOW TO USE EMAIL.  Not sure how to use email to
initialize a list. so if someone could explain to me how to use emails to
initialize / populate a list, that would be cool also.
Also, I did type ?list and ?lapply, and I did read the help files.  In fact,
I learned about the very helpful vector("list", length) command yesterday!
Pretty cool!
I'm not opposed to looking at the help, but please provide some hint about
what direction to take with the help.  Even a small hint will do!!

If you want to yell at me about reading the help or whatever, that's fine.
But please do so offline so that the archives will be more valuable for
future users.

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

Reply via email to