R cbind递归地从多个列表中查找项目
给出三个(或R cbind递归地从多个列表中查找项目,r,list,join,cbind,R,List,Join,Cbind,给出三个(或n列表): 当n为2或3时,这种方法可以正常工作,但很快就会变得非常复杂。 在这方面是否有更有效的变化?我在S.O.上看到过类似的问题,但很难适应。使用Reduce和Map(Map是mapply(…,SIMPLIFY=FALSE)的简单包装器) 使用R中的Reduce或大多数函数式编程基函数时,通常无法在中传递参数,…,因此通常需要编写一个小型匿名函数来执行所需操作。或类似以下操作: mapply(cbind, one, two, three) mylist <- list(
n
列表):
当n
为2
或3
时,这种方法可以正常工作,但很快就会变得非常复杂。
在这方面是否有更有效的变化?我在S.O.上看到过类似的问题,但很难适应。使用
Reduce
和Map
(Map
是mapply(…,SIMPLIFY=FALSE)的简单包装器)
使用R中的Reduce
或大多数函数式编程基函数时,通常无法在中传递参数,…
,因此通常需要编写一个小型匿名函数来执行所需操作。或类似以下操作:
mapply(cbind, one, two, three)
mylist <- list(one, two, three)
do.call(mapply, c(cbind, mylist))
或者像这样:
mapply(cbind, one, two, three)
mylist <- list(one, two, three)
do.call(mapply, c(cbind, mylist))
mylistsep.list太棒了!我玩过Reduce
,但进展不快。非常感谢。你在开玩笑吗?我发誓我试过第一个,但显然我没有。谢谢!
mylist <- list(one, two, three)
do.call(mapply, c(cbind, mylist))
sep.list <- unlist(list(one, two, three), recursive = FALSE)
lapply(split(sep.list, names(sep.list)), do.call, what = cbind)