【发布时间】:2018-07-02 14:18:45
【问题描述】:
我有一长串列表(> 100k),需要迭代循环遍历每个列表并提取“id” - 我可以通过在 for 循环中构造 lapply 轻松完成。
以下是列表示例:
l1 <- list(id="002e2b45555652749339ab9c34359fb6", key="2", value="xx")
l2 <- list(id="002e2b433226527493jsab9c34353fb6", key="4", value="zz")
l3 <- list(list1, list2)
我使用以下方法进行循环:
for(i in 1:20) {
lapply(l3$id[[i]][1], function (x) print(x))
}
基本上打印 id 的每个列表的所有元素 - 这很好。 我最终想构建一个矩阵/数据框,其中包含行中的所有“id”。让我烦恼的是,我的循环中的打印效果很好,打印出所有列表中的所有 id - 尽管我无法将我的行绑定到数据框或矩阵等。我正在尝试类似的东西 - 没有做我想要的(虽然没有收到错误等)
for(i in 1:20) {
lapply(l3$id[[i]][1], function (x) rbind(x))
}
所以所需的输出应该是(最好是作为数据帧)。
[1] "002e2b45555652749339ab9c3400cc52"
[1] "002e2b45555652749339ab9c34040525"
【问题讨论】:
标签: r list loops for-loop iteration