Описание панельных данных - PullRequest
0 голосов
/ 26 мая 2020

Действительно простой вопрос, но я почему-то застрял. У меня есть панельные данные ежедневных задач пользователей. Теперь я хочу узнать, сколько задач в среднем выполняет один пользователь, но почему-то понятия не имею, как это сделать. И сколько времени в среднем у одного пользователя уходит на выполнение одной задачи. Кроме того, я хотел бы построить эти данные, если это возможно. Я сделал обычные описания, но мне кажется, что это не совсем то, что мне нужно. Данные выглядят примерно так: создание задачи пользователя (1, 1, 1, 2, 2,3) (1, 1,2, 3,4, 5) день (1, 2, 1,1,2,1) (1,1,1,4,4,3) крайний срок (5,5,5,9,9,4)

      id_task id_user day completion_yesno day_created has_deadline deadline created_before active overdue completed_before
16416   37033    5272  61                0          61            1      172              0      0       0                0
16417   37033    5272  62                0          61            1      172              2      2       0                0
16418   37033    5272  63                0          61            1      172              2      2       0                0
16419   37033    5272  64                0          61            1      172              2      2       0                0
16420   37033    5272  65                0          61            1      172              2      2       0                0
16421   37033    5272  66                0          61            1      172              2      2       0                0
16422   37033    5272  67                0          61            1      172              2      2       0                0
16423   37033    5272  68                0          61            1      172              2      2       0                0
16424   37033    5272  69                0          61            1      172              2      2       0                0
16425   37033    5272  70                0          61            1      172              2      2       0                0
16426   37033    5272  71                0          61            1      172              2      2       0                0
16427   37033    5272  72                0          61            1      172              2      2       0                0
16428   37033    5272  73                0          61            1      172              2      2       0                0
16429   37033    5272  74                0          61            1      172              2      2       0                0
16430   37033    5272  75                0          61            1      172              2      2       0                0
16431   37033    5272  76                0          61            1      172              2      2       0                0
16432   37033    5272  77                0          61            1      172              2      2       0                0
16433   37033    5272  78                0          61            1      172              2      2       0                0
16434   37033    5272  79                0          61            1      172              2      2       0                0
16435   37033    5272  80                0          61            1      172              2      2       0                0

В этом случае один пользователь будет работать в среднем над 2 задачами, но я только что узнал это путем подсчета.

1 Ответ

2 голосов
/ 26 мая 2020

Хранить только информацию о пользователе, задачах и выполненных. Удалите повторяющиеся строки, затем сгруппируйте по пользователям и вычислите количество выполненных задач для каждого пользователя:

df_by_user <- df %>% 
    select(id_user, id_task, completion_yesno) %>% 
    unique() %>% 
    group_by(id_user) %>%
    summarise(n = sum(completion_yesno))

Затем вычислите среднее:

 mean(df_by_user$n)
...