Я работаю, чтобы выяснить, как разделить каждое значение каждого года в многолетних временных рядах данных на первое значение каждого года.
Ниже приведен простой пример:
library(dplyr)
library(lubridate)
date <- c('2015-01-01', '2015-01-02', '2015-01-03', '2015-01-04', '2015-01-05', '2015-01-06', '2016-01-01', '2016-01-02', '2016-01-03', '2016-01-04', '2016-01-05', '2016-01-06')
date <- tibble(ymd(date))
numbers <- tibble(1+ seq(0,11)/6)
data <- bind_cols(date,numbers)
colnames(data)<- c('date', 'number')
firstDay <- data %>%
group_by(year(date)) %>%
arrange(date) %>%
slice(1L)
colnames(firstDay)[3] <- 'year'
data %>% group_by(year(date)) %>%
mutate ( calc = number/firstDay[2,firstDay$year==year(date)] )
Я хочу, чтобы все данные за 2015 год были разделены на значение для «числа» с 1 января 2015 года. Аналогичным образом я хочу получить все данные за 2016 год быть разделенным на значение для "числа на 1 января 2016 года.
Я пробовал несколько вариантов последнего оператора pipe, но не могу найти тот, который работает.
Спасибо за ваша помощь.
jfd118