【发布时间】:2015-11-04 07:45:21
【问题描述】:
我有一个名为 sampleframe 的 data.frame,其中存储了所有表值。在sampleframe 里面我有列id、month、sold。
id month SMarch SJanFeb churn
101 1 0.00 0.00 1
101 2 0.00 0.00 1
101 3 0.00 0.00 1
108 2 0.00 6.00 1
103 2 0.00 10.00 1
160 1 0.00 2.00 1
160 2 0.00 3.00 1
160 3 0.50 0.00 0
164 1 0.00 3.00 1
164 2 0.00 6.00 1
我想根据ID 计算过去三个月的平均销量。如果是第 3 个月,则必须根据 ID 考虑过去两个月的平均销售量,如果是第 2 个月,则必须分别根据 ID 考虑 1 个月的平均销售量。
我已经使用 ifelse 和 mean 函数来使用它,但是当我尝试使用它所有月份时,一些行丢失了
我用于执行的查询
sampleframe$Churn <- ifelse(sampleframe$Month==4|sampleframe$Month==5|sampleframe$Month==6, ifelse(sampleframe$Sold<0.7*mean(sampleframe$Sold[sampleframe$ID[sampleframe$Month==-1&sampleframe$Month==-2&sampleframe$Month==-3]]),1,0),0)
根据查询的逻辑添加它应该与前几个月的销售价值 70% 进行比较,如果当前值高于以前的平均月份值,那么它应该返回 1 else 0
【问题讨论】:
-
嗨,Jaap,感谢您的建议,但表格值如何显示
-
你能更新预期的输出吗?
-
@akrun 输出它应该根据售价显示 0 或 1
-
@Pallavi 如果您还可以使用预期输出进行更新以便我们可以交叉检查结果,那将非常有帮助。
标签: r