任意のネストされたリストが与えられていると、リストに空のリストが含まれている場合はどうすれば見つけることができますか?次の例を考えてみましょう:リストのネストされたリストで空のリストを見つける
mylist <- list(list("foo", "bar", "baz", list(list())))
私はrapply
を試してみましたが、それはリストを通じてスキップします。 lapply
を使用することができますが、事前にネスティングのレベルを知る必要があります。この演習では、リストがどこにあるのかを知る必要はありませんが(ボーナスになりますが)、存在するかどうかを検出する方法が必要です。
has_empty_list <- function(x) {
if(is.list(x)) {
if (length(x)==0) {
return(TRUE)
} else {
return(any(vapply(x, has_empty_list, logical(1))))
}
} else {
return(FALSE)
}
}
のような機能については基本的に、我々は長さのリストは0
has_empty_list(list(list("foo", "bar", "baz", list(list()))))
# TRUE
has_empty_list(list(list("foo", "bar", "baz", list(list(4)))))
# FALSE
を探すために再帰関数を作成し、ここでは空のリストのインデックスを見つけるための修正は何
@MrFlickはい、それは私が後で何をするのかです。 –