[R] is there a way to recursilvely lapply

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Dec 11 22:02:30 CET 2008

```On Thu, 11 Dec 2008, Whit Armstrong wrote:

> Thanks, Gabor and Prof. Ripley.
>
> Sorry for the oversight.
>
> I grepped the lapply help for recursive prior to sending my question.
>
> why does it appear as "*r*ecursive" in the help file? or is that just
> a formating problem on my machine?

It is marked as bold: I presume you are reading text help?

>
> -Whit
>
>
> On Thu, Dec 11, 2008 at 3:13 PM, Prof Brian Ripley
> <ripley at stats.ox.ac.uk> wrote:
>> On Thu, 11 Dec 2008, Whit Armstrong wrote:
>>
>>> for a simple example:
>>>
>>> x <- list()
>>> x[["a"]] <- list(a=c(1,2,3),b=c(3,4,5))
>>> x[["b"]] <- list(a=c(6,7,8),b=c(9,10,11))
>>>
>>> lapply(x,sum)
>>>
>>>
>>> this fails w/
>>> Error in FUN(X[[1L]], ...) : invalid 'type' (list) of argument
>>>
>>> Just wondering if I have overlooked something obvious.
>>
>> rapply?  Which is linked from ?lapply (I just checked).  Perhaps
>>
>>> rapply(x, sum)
>>
>> a.a a.b b.a b.b
>>  6  12  21  30
>>
>> or
>>
>>> rapply(x, sum, how="list")
>>
>> \$a
>> \$a\$a
>> [1] 6
>> .....
>>
>>>
>>> one can also do:
>>>
>>> lapply(x,lapply,sum)
>>>
>>> but that assumes that you already know how many levels you have, and
>>> that all the levels are consistent.
>>>
>>> -Whit
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>> --
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>>
>

--
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

```