Is this what you want:

> l <- list(a=c(1), b=c(2,3), c=c(4,5,6))
> l
$a
[1] 1

$b
[1] 2 3

$c
[1] 4 5 6

> l$b <- c(l$b, 99)
> l
$a
[1] 1

$b
[1]  2  3 99

$c
[1] 4 5 6

>

Or is you want to dynamically specify the list element:

> x <- 'a'
> l[[x]] <- c(l[[x]], -99)
> l
$a
[1]   1 -99

$b
[1]  2  3 99

$c
[1] 4 5 6



On Sat, Sep 27, 2008 at 2:44 PM, Bodea, Tudor D <[EMAIL PROTECTED]> wrote:
> Dear R users:
>
> Is there a way to append selectively to components of a list (if possible, 
> loops are to be avoided)? To illustrate the point, in the example below, I 
> would like to append 99 to vector b of the list l.
>
>> l <- list(a=c(1), b=c(2,3), c=c(4,5,6))
>> l
> $a
> [1] 1
>
> $b
> [1] 2 3
>
> $c
> [1] 4 5 6
>
> As you may expect, the result should look like:
>
>> l
> $a
> [1] 1
>
> $b
> [1] 2 3 99
>
> $c
> [1] 4 5 6
>
> I believe that a combination of match and lapply will do it, but, 
> unfortunately, it seems that I cannot get it right.  lapply alone will append 
> the 99 to all vectors in l.  Trying to somehow subset with match gives me the 
> result expected but in a form independent of the original list (see below). I 
> think that match should appear inside the lapply function but, for now, I 
> just cannot make it work.
>
>> lapply(l, function(x, y) {x<-c(x,y)}, y=99)
> $a
> [1]  1 99
>
> $b
> [1]  2  3 99
>
> $c
> [1]  4  5  6 99
>
>> lapply(l[match("b", names(l))], function(x,y) x <- c(x,y), y=99)
> $b
> [1]  2  3 99
>
> I use R2.7.1 on a Windows machine. Thank you so much.
>
> Tudor
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

______________________________________________
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