Я ищу способ динамически заполнять значения NA в столбцах значением в предыдущем столбце, используя dplyr и избегая циклов.
Я работаю над данными по инфляции для этой проблемы, и у меня естьпредоставил фиктивный набор данных (см. ниже), представляющий собой небольшой поднабор данных, которые у меня есть.
Я пытался использовать mutate_at()
, но я не уверен, как получить аргумент функции для ссылки напредыдущий столбец.
dummy_data = tibble(Country = c("UK", "USA", "Canada", "France"),
`2020` = c(0.02, 0.03, 0.03, 0),
`2021` = c(0.03, 0.03, NA, NA),
`2022` = c(NA, 0.04, NA, NA))
Ожидаемый результат состоит в том, что значения NA будут заменены на значения предыдущего года, в зависимости от страны.Я знаю, что этого можно достичь с помощью цикла, но в идеале я хочу сохранить его в формате аккуратной трубы.
result = tibble(Country = c("UK", "USA", "Canada", "France"),
`2020` = c(0.02, 0.03, 0.03, 0),
`2021` = c(0.03, 0.03, 0.03, 0),
`2022` = c(0.03, 0.04, 0.03, 0))