【发布时间】:2018-02-03 16:39:45
【问题描述】:
我已经阅读了多个问题,但没有找到一些有效的代码,非常感谢您的帮助。这是对早期问题的改进,虽然我可以在 Excel 中做到这一点,但我正在努力让我的 R 跟上速度。
我有一些让我头疼的销售数据:
date sales
14/11 39
14/11 3.2
14/11 13
14/11 8.3
14/11 5
14/11 5.6
14/11 79
14/11 35
14/11 24
14/11 8.1
14/11 21
14/11 40
14/11 50
14/11 82
15/11 8.3
15/11 7.2
15/11 63
15/11 31
15/11 35
15/11 2.1
15/11 31
15/11 11
15/11 3.8
15/11 29
15/11 NA
已经向我展示了如何对日期进行分组并找到表现最差的三名,但我想保持其余数据可见。
我希望看到另一个列,其中排名靠前的三个销售报告显示为 TRUE,如果不是,则为 FALSE
我试过了:
if(data$sales == group_by(data$date)%>%top_n(n=-3, wt=sales)) {
data$top <- T
} else {
dat$top <- F
}
我得到的只是:
Error in UseMethod("group_by_") :
no applicable method for 'group_by_' applied to an object of class "factor"
这也不是第一次尝试——我尝试过 for 循环,如果 |否则,匹配,%in% 并且真的很挣扎,但不想在这里倾倒一大堆糟糕的代码。
非常感谢任何想法。
【问题讨论】:
标签: r