#r #lapply #mapply
Вопрос:
Я пытаюсь понять, как избежать использования вложенного цикла for или lapply для работы с вложенным списком. Как я могу настроить функцию отображения ниже или использовать другую базовую функцию r для извлечения ИСТИННОГО значения, которое я ищу?
#data l = list(a = list(2, 3, NA, 5, 1), b = list(4, 3, 3, 5, 2), c = list(5, 1, 3, 2, 4)) #how can I avoid a nested lapply lapply(l, function(y){ lapply(y, function(x){ is.na(x) }) }) %gt;% unlist() %gt;% any() #my attempt - I am getting the result I want but I beleive this is the incorrect implementation mapply(function(x,y) is.na(x), l) %gt;% unlist() %gt;% any()
Комментарии:
1. Чего именно вы ожидаете. Чтобы проверить, есть ли в вашем списке какие-либо NA, или получить индекс NA? Нравится
which(is.na(unlist(l)))
Ответ №1:
Это сделало бы свое дело:
any(is.na(unlist(l)))
Или ты хочешь большего?