【问题标题】:Aggregate in R StatisitcsR统计中的聚合
【发布时间】:2014-04-10 20:00:17
【问题描述】:

请帮助我解决 R 统计中的两个简单问题。我必须为预算预测建立一个动态模型。我的数据如下:

日期合作伙伴费用

01.01。易趣 500 强

等等

我的问题是:

  1. 如何使用聚合创建多个列?结果应包含以下列:

合作伙伴成本预测的日期应该是

31.01 易趣 100 3100 4000

31.01 雅虎 ...

等等。

我像这样汇总每个不同合作伙伴的数据:aggregate(data$Costs, by = list(Partner = data$Partner), FUN = sum)

我的结果是:

合作伙伴 x

1 易趣 39 ...

此外:

  • 如何重命名上面的“x”?

第二个问题是:

  1. 我想比较每个合作伙伴每天的成本总和,如果差异很大 (70%),那么模型应该取这个值并乘以一个月的剩余天数。它是一个函数吗?如需更多了解:预测 = (costs/numberofdays_gone * numberofday_left) + 成本

基本上我取平均值,但在 01.01 时通常是这种情况。每个 ebay 的成本 = 100 然后在 02.01。 ebay = 2000,因此在每月 20 日取平均值是没有意义的,因为最新信息很重要。

那么,我如何构建一个函数(或其他)来实现以下功能:

自动 (!!!!!) 在 => 列中获取合作伙伴的名称来计算 01.01 的成本总和。直到当前日期=> 开始像这样比较日期:02.01 与 01.01,如果成本没有 70% 的差异,则取下一个日期:03.01 与 02.01,依此类推。如果有差异,则取 THAT日期和公式将如下所示:

预测 =(那个日期的成本 * numberofdays_left)+ 成本

HOWEVERbetter 如果模型看到了,那就更好了

例如:

10.01 的成本 = 500

11.01 的成本 = 2000(70% 以上的百分比)

12.01 的成本 = 2100(低于 70%)

模型需要最后两到三天的时间来计算平均值!公式如下: FORECAST = (过去几天的平均成本 * numberofdays_left) + 成本

主要困难在于模型必须由每个合作伙伴完成,而我的客户有大约 12 个合作伙伴。这对R来说很重要吗?

感谢您的帮助! 我解决了时间问题 - 如果你想看,请告诉我!

【问题讨论】:

    标签: r aggregate-functions aggregate random-forest


    【解决方案1】:

    对于第一部分,在聚合调用中使用公式

    假设您要汇总每个合作伙伴的成本、预测、应有能力

    aggregate(cbind(Costs,Forecast,Should_Be) ~ Partner, FUN = sum, data= data)
    

    假设您要汇总每个合作伙伴和日期的成本、预测、应有能力

    aggregate(cbind(Costs,Forecast,Should_Be) ~ Partner + Date, FUN = sum, data= data)
    

    列标题将是变量的名称

    【讨论】:

    • 哇!非常感谢您的回答!!!!!!!我很高兴听到这个消息!!!!非常感谢!!!!!!有用!!!现在我必须构建第二部分,但我不知道该怎么做。我从来没有在 R 中建立一个循环(一段时间)。至少那个版本有效!谢谢!对不起,我不能投票给你,我没有名声:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    相关资源
    最近更新 更多