リストに値を入れるとき、入れたのと同じ形式で値を取得するための一貫した方法は何ですか?
list1 <- list('a'=1, 'b'=2)
list2 <- list('a'=11, 'b'=22, 'c'=33)
listOfLists <- list()
listOfLists <- c(listOfLists, list('first' = list1))
listOfLists <- c(listOfLists, list('second' = list2))
list1['a'] + 5 # should be 6
listOfLists['second']['a'] # should be 11
最後の 2 つの呼び出しを何らかの関数でラップする必要があると思いますf
。のようにf(f(listOfLists['second'])['a'])
。何がf
必要ですか?
注: 実際のコードでは、項目をプログラムで追加しているので、サンプルを適用できるように名前を文字列として保持したいと考えています。
編集: Gavin が指摘したように、解決策は二重括弧 list1['a'] + 5 を使用することです。