【发布时间】:2018-03-19 05:58:06
【问题描述】:
这是我的数据框,如下所示
rd <- data.frame(
Customer = rep("A",15),
date_num = c(3,3,9,11,14,14,15,16,17,20,21,27,28,29,31),
exp_cumsum_col = c(1,1,2,3,4,4,4,4,4,5,5,6,6,6,7))
我正在尝试获取第 3 列 (exp_cumsum_col),但在尝试多次后无法获得正确的值。这是我使用的代码:
rd<-as.data.frame(rd %>%
group_by(customer) %>%
mutate(exp_cumsum_col = cumsum(row_number(ifelse(date_num[i]==date_num[i+1],1)))))
如果我的date_num 是连续的,那么我将整个系列视为一个数字,如果我的date_num 有任何中断,那么我将exp_cumsum_col 增加1 ..... @ 987654328@ 将从 1 开始。
【问题讨论】:
-
您能否编辑您的问题以包含您的预期输出。
-
预期输出是第 3 列 (exp_cumsum_col)