У меня есть много групп в моем DF с данными временных рядов, которые не начинаются с 0. Я хотел бы нормализовать свои данные, установив значения в первой строке каждой группы на 0, так что FrameTime и связанные значения все установлены до 0. Для этого мне нужно вычесть значение первой строки из себя, а затем вычесть значение следующей строки из следующей строки, и так далее, и так далее. Я хотел бы функцию, которая позволяет мне делать это для многих столбцов, таких как mutate_at ().
Я пытался
tmp2 <- tmp %>%
group_by(Name,StimulusName) %>%
mutate_at(8:37, funs(c(first(.), (. - first(.))[-1])) )
но это вычитает значение первой строки из всех других строк, а не точно то, что мне нужно.