我有一个数据框
df
其结构如下:
NEW_UPC IRI_KEY WEEK DOLLARS
13000016961 272568 1220 3.29
13000016961 272568 1221 3.29
13000016961 272568 1222 3.29
13000016961 272568 1223 9.87
13000016962 272568 1224 3.29
13000016961 272568 1224 9.87
13000016962 272568 1225 3.29
13000016961 272568 1225 9.87
13000016962 272568 1226 3.29
13000016961 272568 1226 9.87
13000016961 272568 1227 9.87
13000016961 272568 1228 3.29
13000016963 272568 1228 3.29
13000016963 272568 1229 3.29
13000016962 272568 1230 3.29
13000016961 272568 1230 3.29
13000016963 272568 1230 13.16
13000016962 272568 1231 3.29
13000016963 272568 1231 9.87
21600016430 272568 1231 17.43
13000016962 272568 1232 9.87
我想得到
DOLLARS
前12周
NEW_UPC
-
IRI_KEY
组合。我尝试了以下代码:
df %>%
group_by(NEW_UPC,IRI_KEY) %>%
mutate(START = min(WEEK), END = max(WEEK)) %>% ungroup() %>%
group_by(NEW_UPC,IRI_KEY) %>%
summarise(Sales = case_when(WEEK<=(START+12) ~ sum(DOLLARS)))
但是,我收到了以下错误消息:
Error in summarise_impl(.data, dots) :
Column `Sales` must be length 1 (a summary value), not 8
我在这里做错什么了?
编辑:列中的值
Sales
更改为实际总数,以避免在评论中引起混淆。
我想得到的最终输出如下:
NEW_UPC IRI_KEY Sales
13000016961 272568 65.8
13000016962 272568 26.3
13000016963 272568 29.6
21600016430 272568 17.4
请注意
销售额
上面的列只是我用来显示输出结构的随机数。而且,如果
新的
值为
美元
12周后
START
,我只想得到前12周的总数。所以,
销售额
列应返回从
开始
是的。或者,如果
新的
值为
美元
不到12周
开始
,然后
销售额
应返回该期间的总数。