Функция / цикл для замены 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 :) Не совсем уверен, как вы индексируете значения влево или вправо.