2 つのベクトルで mapply を使用して名前付きリストを作成する方法はありますか? 最初のベクトルは型character
で、リストに使用される名前を含み、2 番目のベクトルには値が含まれます。
これまでのところ、私が持っている唯一の解決策は次のとおりです。
> dummyList = list()
> addToList <- function(name, value) {
+ dummyList[[name]] <- value
+ }
> mapply(addToList, c("foo", "bar"), as.list(c(1, 2))
$foo
`1`
$bar
`2`
これはかなり不自然な解決策のように思えますが、それ以外の方法がわかりません。私が抱えている問題は次のとおりです。
dummyList
の呼び出し後は変更されずdummyList
、空のリストですが、 を作成する必要がありmapply
ます。数値ベクトル
c(1, 2)
がリストに変換されない場合、 への呼び出しの結果はmapply
double の名前付きベクトルになります。
問題 2 を回避するには、いつでもmapply
2 つのベクトルを呼び出しas.list
てから結果を呼び出すことができますが、値がベクトルに含まれるリストを直接作成する方法が必要なようです。