【发布时间】:2018-05-14 19:27:56
【问题描述】:
我有一个数据框df,如下所示(示例以便于询问):
ID Sales
10001 214108
10002 207858
10003 76548
10004 68361
10005 56456
我需要对df 进行子集化,这样结果行将包含总销售额的 90%。我遇到了这个approach,但我没有得到想要的结果。我使用的是以下内容:
subset(df, Sales >= quantile(Sales,0.9))
我得到的是以下内容:
>ID Sales
<dbl> <dbl>
1 10001 214108
我目前的想法是按照以下方式进行:
- 使用以下命令添加新列:
df$Sales_pct = Sales/sum(Sales) - 按
Sales_pct列值的降序对df进行排序 - 添加另一个具有累积百分比的列,然后子集累积百分比值小于 0.9 的行
但是,我觉得应该有更好的方法来解决这个问题。有人可以帮忙吗?
【问题讨论】: