I have a list that looks like this ...> have <- list(a=7,b=3,c=1) > have$a [1] 7 $b [1] 3 $c [1] 1 and I want to have a simple way to change it to the following without re-typing the values ...> desire <- list(a=c(7,7),b=c(3,3),c=c(1,1)) > desire$a [1] 7 7 $b [1] 3 3 $c [1] 1 1 In other words, I need to create the list in desire from the list in have. In my "real" work the number of items in the list may be more than three and the number of times to repeat the numbers may be greater than two. Thank you in advance for any help you can offer.
Hi: How about> have <- list(a=7,b=3,c=1) > lapply(have, rep, 2)$a [1] 7 7 $b [1] 3 3 $c [1] 1 1 HTH, Dennis On Sat, Sep 18, 2010 at 6:19 PM, Derek Ogle <DOgle@northland.edu> wrote:> I have a list that looks like this ... > > > have <- list(a=7,b=3,c=1) > > have > $a > [1] 7 > > $b > [1] 3 > > $c > [1] 1 > > and I want to have a simple way to change it to the following without > re-typing the values ... > > > desire <- list(a=c(7,7),b=c(3,3),c=c(1,1)) > > desire > $a > [1] 7 7 > > $b > [1] 3 3 > > $c > [1] 1 1 > > In other words, I need to create the list in desire from the list in have. > > In my "real" work the number of items in the list may be more than three > and the number of times to repeat the numbers may be greater than two. > > Thank you in advance for any help you can offer. > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Thanks to Dennis for solving my first question and also pointing me in the right direction. To complete the thread ... there are times when I need to have different numbers of repeats for each object in the list. This can be accomplished with mapply() as follows ...> mapply(rep,x=have,c(1,1,2))$a [1] 7 $b [1] 3 $c [1] 1 1 From: Dennis Murphy [mailto:djmuser at gmail.com] Sent: Saturday, September 18, 2010 8:25 PM To: Derek Ogle Cc: R (r-help at R-project.org) Subject: Re: [R] Repeating values in a list Hi: How about> have <- list(a=7,b=3,c=1) > lapply(have, rep, 2)$a [1] 7 7 $b [1] 3 3 $c [1] 1 1 HTH, Dennis On Sat, Sep 18, 2010 at 6:19 PM, Derek Ogle <DOgle at northland.edu> wrote: I have a list that looks like this ...> have <- list(a=7,b=3,c=1) > have$a [1] 7 $b [1] 3 $c [1] 1 and I want to have a simple way to change it to the following without re-typing the values ...> desire <- list(a=c(7,7),b=c(3,3),c=c(1,1)) > desire$a [1] 7 7 $b [1] 3 3 $c [1] 1 1 In other words, I need to create the list in desire from the list in have. In my "real" work the number of items in the list may be more than three and the number of times to repeat the numbers may be greater than two. Thank you in advance for any help you can offer. ______________________________________________ R-help at 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.
> have <- list(a=7,b=3,c=1) > have2 <- lapply(have, rep, 2) > have2$a [1] 7 7 $b [1] 3 3 $c [1] 1 1>-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Derek Ogle Sent: Sunday, 19 September 2010 11:20 AM To: R (r-help at R-project.org) Subject: [R] Repeating values in a list I have a list that looks like this ...> have <- list(a=7,b=3,c=1) > have$a [1] 7 $b [1] 3 $c [1] 1 and I want to have a simple way to change it to the following without re-typing the values ...> desire <- list(a=c(7,7),b=c(3,3),c=c(1,1)) > desire$a [1] 7 7 $b [1] 3 3 $c [1] 1 1 In other words, I need to create the list in desire from the list in have. In my "real" work the number of items in the list may be more than three and the number of times to repeat the numbers may be greater than two. Thank you in advance for any help you can offer. ______________________________________________ R-help at 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.