Вот мое решение, использующее тидиверс. Для начала я импортирую ваши данные, которые я сохранил в fa.txt, исправляю последнее значение в столбце Quarter и конвертирую столбец Value из целого числа в число c.
library(tidyverse)
df <- read.table("fa.txt", header = TRUE)
df[df$Qtr == 20194, "Qtr"] <- 201904
df$Value <- as.numeric(df$Value)
df <- df %>%
mutate(interm = str_replace(Qtr, "(\\d{2})$", ".\\1")) %>%
separate(interm, c("Year", "Quarter"), "\\.") %>%
group_by(Year, Category) %>%
mutate(New_Value = if_else(Quarter == "01", Value - 10, Value - lag(Value)))