是否有可能在没有循环的情况下运行以下代码(最好是lapply)?使用列表的元素来索引/子集中的其他列表
vec1=c(.1,.2,.3,.4,.5)
vec2=c(2,4,6,8,10)
vec3<-c(1,5)
vec4<-c(2,4)
lijst<-list(vec1,vec2)
lijst2<-list(vec3,vec4)
for (i in 1:2) {
print(lijst[[i]][lijst2[[i]]])
}
这是一个更大的算法的一部分,我需要优化以减少计算时间。
**编辑**
最后,我想设置在lijst2零指示的元素,所以最终的解决方案应该是下面的列表:
[[1]]
[1] 0 0.2 0.3 0.4 0
[[2]]
[1] 2 0 6 0 10
'lapply(1:2,function(i)print(lijst [[i]] [lijst2 [[i]]]))' – CPak
您是否需要将其他原因放入列表中?否则,您可以运行'vec1 [vec3]'和'vec2 [vec4]'来获得相同的结果。 –
谢谢你的快速回复,我编辑了我的原始帖子,以表明我的最终目标是什么。 – dirkpelt