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:[email protected]] 
Sent: Saturday, September 18, 2010 8:25 PM
To: Derek Ogle
Cc: R ([email protected])
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 <[email protected]> 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.

______________________________________________
[email protected] 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.

______________________________________________
[email protected] 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