我需要在列表中使用嵌套元素进行查询。例如:
sha_list <- list(c("ed76504696469470dcbf", "164f798524fd6904236a"),
c("669dfeccad88cd4348f7", "af70a76691aacf05c1bb"))
这是一个具有以下结构的列表:
[[1]]
[1] "ed76504696469470dcbf" "164f798524fd6904236a"
[[2]]
[1] "669dfeccad88cd4348f7" "af70a76691aacf05c1bb"
这是我迄今为止所做的尝试:
library("devtools")
lapply(sha_list, source_gist)
这给出了:
Error: length(id) == 1 is not TRUE
预期输出将是列表中两个条目中每个条目中包含两个元素的列表:
[[1]]
[1] gist1
[2] gist2
[[2]]
[1] gist3
[2] gist4
我需要做的是迭代这个列表来执行一个函数(它是非向量化的,因此它一次只能将其中一个元素作为参数)。我希望这会起作用,因为我想递归地使用每个列表中的每个项目:
rapply(sha_list, source_gist, how = "list")
这也不起作用。
unlist()
将不起作用,因为我需要维护列表的结构(即输出需要以相同的方式构建,作为列表)。
答案 0 :(得分:2)
你可以这样做:
library("devtools")
sha_list <- list(c("ed76504696469470dcbf", "164f798524fd6904236a"),
c("669dfeccad88cd4348f7", "af70a76691aacf05c1bb"))
my.gists <- lapply(sha_list, function(x) lapply(x, source_gist))
然后,例如,可以使用sha_list[[1]][2]
访问与my.gists[[1]][[2]]
相关联的要点。