Что происходит, когда ссылаются на несуществующий элемент списка?

#r

Вопрос:

 # append health event count to dhi_intervals
dhi_intervals[[i]]$HealthEvents <- apply(dhi_intervals[[i]], 1, function(interval_row) {
health_lengths <- lengths(health_intervals[[i]][health_intervals[[i]]$EarTag==interval_row[["EarTag"]],])
if(length(health_lengths) == 0) {
  return(0)
} else {
  return(health_lengths[[1]])
}})
 

Я использую данный мне код. Это часть цикла for, который повторяется через «dhi_intervals».

Вопрос 1:

Что dhi_intervals[[i]]$HealthEvents <-...... делает? HealthEvents не является элементом dhi_intervals , так что же происходит, когда вы пытаетесь присвоить несуществующему элементу значение?

Вопрос 2:

что же function(interval_row) делать? Является ли это анонимной функцией или она просто ссылается на остальную часть блока кода? Я получаю

Ошибка в interval_row[[«EarTag»]] : индекс выходит за рамки

Мне сказали, что interval_row это одна строка из dhi_intervals , но interval_row только что присвоено 13 ЛОЖНЫХ элементов. dhi_intervals имеет 13 элементов, один из которых «EarTag», поэтому я предполагаю interval_row , что он просто неправильно назначен, но я не уверен.