[R] lapply / mapply and assignments
Charles C. Berry
cberry at tajo.ucsd.edu
Mon Oct 12 23:35:30 CEST 2009
On Mon, 12 Oct 2009, Magnus Torfason wrote:
> I have a list of isometric structures, and I want to change the same part of
> each structure in the list, assigning one element of a vector to each of
> these parts.
>
> In other words, I want to achieve the following:
>
>> l <- list( list(a=1,b=2), list(a=3,b=4))
>> unlist(lapply(l, "[[", "a"))
> [1] 1 3
>>
>> # This will not actually work
>> l[[]]["a"] <- 5:6
>>
>> unlist(lapply(l, "[[", "a"))
> [1] 5 6
>
> I figure mapply is the solution to the problem, and I tried the following:
>
>> mapply( "[<-", l, "a", 5:6)
>
> But the result is not the same shape as the original.
>
> Any thoughts?
See
?relist
something like:
relist( unlist( mapply( "[<-", l, "a", 5:6) ), l )
HTH,
Chuck
>
> Best,
> Magnus
>
> ______________________________________________
> 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.
>
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list