subset
データフレームで機能するのと同様の方法で、サブリスト要素の1つの内容に基づいて、サブリストのリストをサブセット化したいと思います。
sublist1 <- list(data=rnorm(10), name="name1", keepMe=2)
sublist2 <- list(data=rnorm(10), name="name2", keepMe=2)
sublist3 <- list(data=rnorm(10), name="name3", keepMe=3)
myList <- list(s1=sublist1, s2=sublist2, s3=sublist3)
keepers <- subset[myList, keepMe==2]
長さ2のリストを返すようなことをしたいと思います。
以下は私が欲しいものです:
require(plyr)
selector <- function(x) {
if (x$keepMe==2) {return(x)}
else {return(NULL)}
}
keepers <- llply(myList, selector)
ただし、その場合、望ましくないリスト要素は破棄されず、。に置き換えられるだけですNULL
。
すべての場合において、サブリストは同じコンポーネントを持ち、コンポーネントの値のみが変更されることに注意してください。