У меня есть набор данных временного ряда, содержащий различные измерения датчика. В программном обеспечении датчиков есть некоторые ошибки, которые приводят к отсутствию измерений. Я добавил недостающее время измерения, в результате чего в столбце «значение» появились NA. Набор данных выглядит следующим образом:
df <- structure(list(time_id = 1:10, value = c(-1.80603125680195, -0.582075924689333,
NA, NA, -0.162309523556819, NA, NA, NA, 1.6059096288573, NA),
is_missing = c(FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE,
TRUE, FALSE, TRUE)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -10L))
df
Я хочу сгруппировать последовательные строки с нумерацией c против пропущенных значений и в то же время посчитать количество последовательных строк в каждой группе. Результат должен выглядеть следующим образом:
df %>% mutate(group = c(1, 1, 2, 2, 3, 4, 4, 4, 5, 6),
seq_NA = c(1:2, 1:2, 1, 1:3, 1, 1))
Помощь очень ценится!