おもちゃの例として、list.map
があり、その主索引に2つの要素のベクトルの「ポインタ」である副索引が含まれているとします。 test
リストには、すべてのメインインデックスの "ポインタ"インデックスだけが含まれているので、対応するベクトルを出力する最終リストが必要です。Rの2つのリストのマッピングR
list1=list(c(1,2),c(3,4),c(5,6))
list.map=list(list1,list1)
test=list(c(1,3),2)
> list.map
[[1]]
[[1]][[1]]
[1] 1 2
[[1]][[2]]
[1] 3 4
[[1]][[3]]
[1] 5 6
[[2]]
[[2]][[1]]
[1] 1 2
[[2]][[2]]
[1] 3 4
[[2]][[3]]
[1] 5 6
> test
[[1]]
[1] 1 3
[[2]]
[1] 2
私の試み
test.out=NULL
for(b in c(1,2)){
test.out[[b]]=as.vector(sapply(test[[b]],function(x) list.map[[b]][[x]]))
}
> test.out
[[1]]
[1] 1 2 5 6
[[2]]
[1] 3 4
これが最もエレガントなアプローチではありませんし、理想的に私は私のfor
ループでb
でインデックス化メインインデックスの数百を持っていると思います。これを書くには良い方法がありますか?