r - R forEach 为列表列表和结构输出列表分配名称
问题描述
我希望我的 foreach 代码返回一个可读的列表。给定一组要循环的项目,我想要一个结构化列表,其中包含基于循环值的命名列表。
我的代码:
item_a <- c(1,2,3,4,5)
item_b <- c("a", "b", "c")
#loop over a then loop over c
#5*3 passes
list_of_results <- foreach(A = item_a,
.combine = "list") %:%
foreach(B = item_b) %dopar% {
#Arbitrary processes here
aa <- A*A
bb <- paste0(B, B)
list(aaa = aa,
bbb = bb)
}
输出是没有模式的东西。长度为 2 的列表。列表名称 (aaa, bbb) 保留在结果中。但仍然没有结构。
我想要的输出是长度为 5 的列表:
[[1]] #Signifies the 1:5 values in item_a
[[1]]
[[1]] #Signifies the 1:3 values in item_b
aaa 1 #Computed values in list(aaa == aa, bbb = bb)
bbb aa
[[2]]
aaa 1
bbb bb
[[3]]
aaa 1
bbb cc
[[2]]
[[1]]
[[1]]
aaa 4
bbb aa
[[2]]
aaa 4
bbb bb
[[3]]
aaa 4
bbb cc
... 很快
我真的无法在文档和其他 SO 问题中找到它。我真的需要帮助,非常感谢。是否可以使用assign(env = to global env)?但这违背了 foreach 使用输出而不是副作用的想法
编辑:我的例子有问题。简化为列表(aaa = aa, bbb = bb)
我想要使用嵌套 for 循环的伪代码
for(big_index in 1:5) {
for(small_index in 1:3) {
aa <- item_a[big_index]*item_a[big_index]
bb <- paste0(item_b[small_index], item_b[small_index])
small_list <-list(aaa = aa,bbb = bb)
big.list[[big_index]][[small_index]] <- small_list
}
解决方案
推荐阅读
- python - 反向字符串省略特殊字符和数字
- reactjs - React Native 升级重复符号问题
- python - 循环遍历函数参数以创建 power point 演示文稿
- gradle - 项目“cocoapods”未与 Gradle 链接
- python - 在这个代码示例中,unittest 计算了哪些测试?
- delphi - 这个 FastMM4 无效指针异常是 Delphi 5 的 FastMM 中的一个错误吗?
- javascript - adob animate JS 无法在画布上绘制
- angular - 主动侧边栏药丸不再有效
- bash - 当其中的程序退出时,关闭从 bash 打开的终结者终端
- linux - 如何在 Linux 内核中使用 pwm-beeper 模块?