R — как/следует ли использовать mapply для вложенного цикла?

#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)))   

Или ты хочешь большего?