Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中数据聚合的建议_R_Dataframe - Fatal编程技术网

R中数据聚合的建议

R中数据聚合的建议,r,dataframe,R,Dataframe,您好,我有一个超过3632200+obs的数据帧,我正试图从中找到一些有用的信息。我已经清理了一点,所以现在数据是这样的 Order Lane Days 18852324 796005 - Ahmedabad 2 232313 796008 - Delhi 5 63963231 796005 -

您好,我有一个超过3632200+obs的数据帧,我正试图从中找到一些有用的信息。我已经清理了一点,所以现在数据是这样的

                 Order      Lane                Days
                 18852324   796005 - Ahmedabad  2
                 232313     796008 - Delhi      5
                 63963231   796005 - Ahmedabad  5
                 23501231   788152 - Chennai    1
                 2498732    796008 - Delhi      2
                 231413     796005 - Ahmedabad  3
                 75876876   796012 - Chennai    4
                 14598676   796008 - Delhi      4
订单是不同的订单Id,它们都是唯一的,Lane是订单交付的不同路径Lane可以为不同的订单重复,天数通过区分订单交付日期和创建日期,使用R中的difftime函数计算

现在我要做的就是这样

现在我可以通过使用R中的分位数函数在不同的车道上计算98%的订单完成日期。 但是,我如何在第1天到第5天跨多条通道完成%的订单? 任何帮助都将不胜感激。
谢谢

没有数据很难说,但可能是这样的:

library(purrr)
#df = your data
max_days = max(df$days)

aggregate_fun = function(x){
  days = factor(x$days,levels=c(1:max_days))
  prop.table(table(days))
}

df = split(df,df$lane)

results = reduce(lapply(df,aggregate_fun),rbind)

您是否有可复制的示例数据,最好是之前的,最好是之后的?如果没有这些,很难提供代码解决方案。您好,我添加了一个示例数据,before数据有76列,我认为这对我们的问题没有任何用处。您好-一般的指导原则是使用dput或类似方法来允许重新导入数据,而不是从屏幕截图中键入数据。你能从截图中删除你的数据子集吗?嗨,我又试过编辑了。我希望这就是你想要的。我解不出这个问题。44.13和48.95天之间的时间差如何等同于第1天到第5天?您如何定义已实现的订单?感觉我可能错过了一些东西,但我不知道从哪里开始。你好,谢谢你的回答。只是一个问题我们为什么要这样做?df=splitdf,df$laneTo将数据框分隔为仅包含一条车道的观测值的列表。然后我们可以使用表格分别计算每条车道的天数百分比。非常感谢。