Jam-specific recursive apply
jam_rapply(x, FUN, how = c("unlist", "list"), ...)
list
function
to be called on non-list elements in x
.
character
string indicating whether to return the
list
or whether to call unlist()
on the result.
additional arguments are passed to FUN
.
This function is a very lightweight customization to base::rapply()
,
specifically that it does not remove NULL
entries.
Other jam list functions:
cPasteSU()
,
cPasteS()
,
cPasteUnique()
,
cPasteU()
,
cPaste()
,
heads()
,
list2df()
,
mergeAllXY()
,
mixedSorts()
,
rbindList()
,
relist_named()
,
rlengths()
,
sclass()
,
sdim()
,
uniques()
,
unnestList()
L <- list(entryA=c("miR-112", "miR-12", "miR-112"),
entryB=factor(c("A","B","A","B"),
levels=c("B","A")),
entryC=factor(c("C","A","B","B","C"),
levels=c("A","B","C")),
entryNULL=NULL)
rapply(L, length)
#> entryA entryB entryC
#> 3 4 5
jam_rapply(L, length)
#> entryA entryB entryC entryNULL
#> 3 4 5 0
L0 <- list(A=1:3, B=list(C=1:3, D=4:5, E=NULL));
rapply(L0, length)
#> A B.C B.D
#> 3 3 2
jam_rapply(L0, length)
#> A B.C B.D B.E
#> 3 3 2 0