Вычислить 2-летние и 3-летние изменения многомерного квартального временного ряда
Я работаю с многомерным квартальным временным рядом, и для каждой переменной я хотел бы вычислить 2-летние и 3-летние изменения и сохранить их в отдельном столбце, пока я запускаю следующий код для операции diff с помощью Я не знаю, как написать цикл for, чтобы сделать это для всех переменных и сохранить их в отдельном столбце (также следует помнить, что после каждого сравнения данные становятся меньше)
x_2y=x[dif_2y:length(x)]-x[1:(length(x)-dif_2y+1)]
x_3y=x[dif_3y:length(x)]-x[1:(length(x)-dif_3y+1)]
Образец моего набора данных выглядит следующим образом:
structure(list(Fraud = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), ValueDate = structure(c(1456790400,
1464739200, 1472688000, 1480550400, 1488326400, 1496275200, 1504224000,
1512086400, 1519862400, 1527811200), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), Total_Value = c(71.833, 45.6, 37.06, 38.8,
22.89, 37.99, 30.45, 41.2, 61.1, 70.21), Stock_Value = c(22.78,
33.76, 40.21, 50.32, 66.2, 61.9, 56.21, 43.9, 34.9, 53.9)), row.names = c(NA,
10L), class = "data.frame")
поэтому я хотел бы иметь 2-летние и 3-летние изменения Total_Value и Stock_Value в двух разных столбцах.