У меня есть именованный список списков (фреймов данных).
l_of_lists <- list(
fruits = list(
red = data.frame("apple", "cherry", "strawberry"),
yellow = data.frame("banana", "lemon"),
orange = data.frame("orange", "grapefruit", "blood orange")),
colors = list(
green = data.frame("light green", "green", "dark green"),
red = data.frame("red", "dark red"),
blue = data.frame("light blue", "blue", "dark blue")),
places = list(
inside = data.frame("living room", "bathrooom", "kitchen"),
outside = data.frame("garden", "yard"),
neighborhood = data.frame("playground", "shop", "school"))
)
Я перебираю l_of_lists
s sublists
, чтобы определить количество столбцов каждого фрейма данных, и я хочу удалить каждое sublist
, которое не удовлетворяет условию (которое в этом примере состоит из трех столбцов).
со следующим кодом:
for (ls in l_of_lists){
for (sublist in ls){
if (!ncol(sublist) == 3)
{
print(ncol(sublist))
#sublist <- NULL # this does achieve the desired result
}
}
}
Как я могу удалить список, который я идентифицировал с условием? (Я уверен, что есть более эффективный способ сделать это, и я рад намекам на это.)