Предложение с агрегацией данных в R - PullRequest
0 голосов
/ 10 февраля 2019

Здравствуйте, у меня есть фрейм данных с более чем 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

Порядок - это разные Идентификаторы заказа, все они уникальны, Лейн - это разные пути доставки заказа (дорожки могут повторяться дляразличные заказы) & Days рассчитывается с использованием функции difftime в R путем разграничения даты доставки и создания заказа.

Теперь то, что я пытаюсь достичь, это что-то вроде этого

Final Output

Теперь я могу вычислить 98.% достигнутая дата заказа поиспользуя квантильную функцию в R через различные полосы движения.Но как мне достичь% заказов, выполненных к 1-му и 5-му дню на разных линиях?Любая помощь будет высоко оценен.Спасибо

1 Ответ

0 голосов
/ 10 февраля 2019

Трудно сказать без данных, но может быть что-то вроде этого:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...