我想知道是否有一个R等价的这个列表理解python中的重复?它的作用是从嵌套列表中提取某些元素,我给出了来自j:
的索引i = [[1,2,3],[2,3,4],[2,4,2]]
j = [1,2,0]
whatineed = [x[y] for x,y in izip(i,j)]
据推测,在R中,相应的i和j将是列表/向量:
i = list(c(1,2,3),c(2,3,4),c(2,4,2))
j = c(2,3,1)
或
j = list(2,3,1)
非常感谢你提前帮助!!
答案 0 :(得分:5)
在R中,您使用Map
函数:
i = list(c(1,2,3),c(2,3,4),c(2,4,2))
j = c(2,3,1)
Map(`[`, i, j)
[[1]]
[1] 2
[[2]]
[1] 4
[[3]]
[1] 2
您还可以使用mapply
返回向量而不是列表:
mapply(`[`, i, j)
[1] 2 4 2