【发布时间】:2015-11-05 07:01:15
【问题描述】:
我有一个包含值的表格
KId sales_month quantity_sold
100 1 0
100 2 0
100 3 0
496 2 6
511 2 10
846 1 4
846 2 6
846 3 1
338 1 6
338 2 0
现在我需要输出为
KId sales_month quantity_sold result
100 1 0 1
100 2 0 1
100 3 0 1
496 2 6 1
511 2 10 1
846 1 4 1
846 2 6 1
846 3 1 0
338 1 6 1
338 2 0 1
在这里,如果 3 月 (3) 月份的销售量小于 1 月 (1) 和 2 月 (2) 两个月的 60%,则计算必须如此结果应该是1,否则应该显示0。需要解决方案来执行此操作。
提前致谢。
【问题讨论】:
-
你自己有没有尝试过这个问题?
-
@ZDavies 我已经通过使用 Mysql 查询来完成它,它通过使用带有 case 语句的子查询可以正常工作,但是当我尝试通过使用 ifelse 作为数据帧来实现它时,它会因丢失记录而徒劳无功并且输出错误。
-
向我们展示您到目前为止所做的尝试...您的问题也不清楚... 一月(1)和二月(2)两个月的 60% 是什么意思...那里您的数据中有多个 1 和 2...
-
@Gaurav,使用 sampleBubble$result
-
您不能在
ifelse语句中包含mean(sampleBubble$Quantity_Sold[sampleBubble$KId[sampleBubble$Sales_Month==-1&sampleBubble$Sales_Month==-2&sampleBubble$Sales_Month==-3]])部分...ifelse语句只能根据同一行中的值或先前定义的变量检查特定行的值具有绝对值...如果您从 ifelse 语句中某个数据帧的所有行中派生一个值,该语句作用于同一数据帧的一行,它将抛出 NA...
标签: r