[[
別の言い方をすれば:ネストされたリストで演算子を使用するにはどうすればよいですか?
これは、リストの深さレベルを決定する方法を尋ねたときの this oneのフォローアップの質問と考えることができます。両方とも再帰関数を提案した @Spacedman と @flodel からまともな回答を得ました。どちらのソリューションも非常に似ていて、私にとってはうまくいきました。
ただし、これらの関数から取得した情報をどうするかはまだわかりません。次のように、レベルでネストされたリストがあり、すべてのレベル要素i
を含むリストを取得したいとします。i-th
myList$firstLevel$secondLevel$thirdLevel$fourthLevel
# fourthLevel contains 5 data.frames and thirdLevel has
# three elements
から 15 個すべての data.frames を取得するにはどうすればよいmylist
ですか? 私は例えば使用しようとしています
lapply(mylist,"[[",2)
しかし明らかに、最初のレベルですべてのリスト要素の 2 番目の要素を取得するだけです。
編集:私はextract
それぞれのヘルプで次のことを見つけました?"[["
が、これまでのところ頭を包むことはできません:
"[[ can be applied recursively to lists, so that if the single index i is a vector of length p, alist[[i]] is equivalent to alist[[i1]]...[[ip]] providing all but the final indexing results in a list."
編集: このようにループをネストしてしまいたくありません。
o <- list()
i=1
for (i in 1:2){
o[[i]] <- mylist[[c(i,1,1,1)]]
}