我希望使用lapply包将第二个foreach函数(# Make the new list)转换为foreach循环。
## Example data
lst <- lapply(1:30, function(x) lapply(1:5, function(y) rnorm(10)))
## Make the new list
res <- lapply(1:5, function(x) lapply(1:10, function(y) sapply(lst, function(z) z[[x]][[y]])))我不确定这是否可能。我并不担心lapply比foreach循环表现得更好。就上下文而言,我正在以这样的方式重新组织向量列表:
new_thing[[5]][[10]][30] <- daily_by_security[[30]][[5]][10]谢谢!
发布于 2015-09-15 22:25:10
为了帮助您解决问题,我查看了foreach示例,第二个示例完成了您要查找的内容:
library("foreach")
example(foreach)
# equivalent to lapply(1:3, sqrt)
foreach(i=1:3) %do% sqrt(i)然后我根据你的问题调整了这个方法:
lst <- lapply(1:30, function(x) lapply(1:5, function(y) rnorm(10)))
resFE <- foreach(i = 1:5) %do%
lapply(1:10, function(y) sapply(lst, function(z) z[[i]][[y]]))编辑: OP能够根据我的工作找到一个解决方案。以下是解决办法:
resFE <- foreach(i = 1:5, .packages = "foreach") %dopar%
{ foreach(m = 1:10) %dopar%
{ foreach(t = lst, .combine = c) %do%
{ t[[i]][[m]] } } }https://stackoverflow.com/questions/32595329
复制相似问题