Функция / цикл для замены NA значениями в соседних столбцах в R

У меня есть набор данных временного ряда с 1000 столбцами. Каждый ряд, конечно, отдельная запись. Есть некоторые значения NA, которые разбросаны по всему набору данных.

Я хотел бы заменить каждый NA либо соседним левым значением, либо соседним правым значением, не важно, какой.

Оптимальное решение, к которому я стремился, состоит в том, чтобы заменить каждый NA значением справа от него, если только он не находится в последнем столбце, и в этом случае заменить его значением слева от него.

Я только собирался сделать цикл for, но я предполагаю, что функция будет более эффективной. По сути, я не был уверен, как ссылаться на смежные значения.

Вот что я пытался:

for (entry in dataset) {
  if (any(is.na(entry)) == TRUE && entry[,1:999]) {
    entry = entry[,1]
  }
  else if (any(is.na(entry)) == TRUE && entry[,1000]) {
    entry = cell[,-1]
  }
}

Как вы можете сказать, я неопытен с R :) Не совсем уверен, как вы индексируете значения влево или вправо.

Ответы на вопрос(1)

Ваш ответ на вопрос