【发布时间】:2021-01-16 19:07:43
【问题描述】:
我想计算每个 id 的某些变量的比率
例如,如果我有 3 个句点、2 个 id 和某些度量,就像在这个 df 中
df <- data.frame(
date = c(202001L, 202002L, 202003L, 202001L, 202002L, 202003L),
id = c("a", "a", "a", "b", "b", "b"),
value = c(23L, 43L, 123L, 56L, 23L, 13L))
我应该能够做到这一点
df_mod <- df %>%
group_by(id) %>%
mutate(value_var_1 = (value - dplyr::lag(value, 1))/dplyr::lag(value, 1)) %>%
ungroup()
但是,例如,如果 id "a" 缺少 date = '202002',则意味着滞后将在 202001 和 202003 之间产生,这将不再是滞后 1,如本例所示
df <- data.frame(
date = c(202001L, 202003L, 202001L, 202002L, 202003L),
id = c("a", "a", "b", "b", "b"),
value = c(23L, 123L, 56L, 23L, 13L)
)
df_mod <- df %>%
group_by(id) %>%
mutate(value_var_1 = (value - dplyr::lag(value, 1))/dplyr::lag(value, 1)) %>%
ungroup()
如何确保 id "a" 具有我需要进行计算的 3 个句点?如何用最后一个值填充缺失的日期?
【问题讨论】:
标签: r na feature-engineering