Я пытаюсь заполнить отсутствующие данные, основываясь на том, совпадают ли предыдущее и последнее значение NA.Например, это фиктивный набор данных:
df <- data.frame(ID = c(rep(1, 6), rep(2, 6), rep(3, 6), rep(4, 6), rep(5, 6), rep(6, 6),
rep(7, 6), rep(8, 6), rep(9, 6), rep(10, 6)),
with_missing = c("a", "a", NA, NA, "a", "a",
"a", "a", NA, "b", "b", "b",
"a", NA, NA, NA, "c", "c",
"b", NA, "a", "a", "a", "a",
"a", NA, NA, NA, NA, "a",
"a", "a", NA, "b", "a", "a",
"a", "a", NA, NA, "a", "a",
"a", "a", NA, "b", "b", "b",
"a", NA, NA, NA, "c", "c",
"b", NA, "a", "a", "a", "a"),
desired_result = c("a", "a", "a", "a", "a", "a",
"a", "a", NA, "b", "b", "b",
"a", NA, NA, NA, "c", "c",
"b", NA, "a", "a", "a", "a",
"a", "a", "a", "a", "a", "a",
"a", "b", "b", "b", "a", "a",
"a", "a", "a", "a", "a", "a",
"a", "a", NA, "b", "b", "b",
"a", NA, NA, NA, "c", "c",
"b", NA, "a", "a", "a", "a"))
Так что, если, например, есть разрыв в четыре строки, но значения до и после пропуска одинаковы, я хочу, чтобы этот разрыв былзаполнены теми же значениями;тогда как если значения до и после НС отличаются, я не хочу их заполнять.Кроме того, мне нужно сгруппировать данные по переменной ID.
Я пробовал na.locf, но не могу понять, как добавить условие «если они одинаковы до и после NA».
Спасибо.