Мой набор данных содержит частоты для каждого года.Теперь я хотел бы разделить каждую частоту на частоту той же переменной в предыдущем году.Я создал функцию задержки и получил сообщение об ошибке «Не удается преобразовать объект quosures
в функцию».Однако я не могу найти другой способ реализации.
Упрощенно, мой набор данных может быть представлен следующим образом:
library(tidyverse)
library(dplyr)
year <- c(1914, 1915, 1916, 1917)
a <- c("blue", "green", "green", "blue")
df_1 <- data.frame(a, year)
df_1 <- group_by(a, year) %>% count(name = "counts") %>%
ungroup(a, year) %>%
mutate(y=counts/sum(counts))
Мой код следующий:
calc_persistance = function(y){y/lag(y)}
df_1 %>%
mutate_if(vars(contains("y")), calc_persistance)