Как создать новую переменную, разделив ее наблюдение на его задержку? - PullRequest
0 голосов
/ 14 марта 2019

Мой набор данных содержит частоты для каждого года.Теперь я хотел бы разделить каждую частоту на частоту той же переменной в предыдущем году.Я создал функцию задержки и получил сообщение об ошибке «Не удается преобразовать объект 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)
...