R: Как рассчитать разницу во времени двух переменных, которые находятся в разных строках, но принадлежат одному и тому же идентификатору пользователя? - PullRequest
0 голосов
/ 25 октября 2018

Я застрял с вопросом, который лучше всего проиллюстрировать на примере набора данных:

> head(posts, 11)
     userId       postId      post.time    post.freq
1  JON          100000000000  2016-12-06         1
2  JOSH         100000000001  2017-04-29         1
3  JIMBO        100000000002  2018-08-24         1
4  JAMIE        100000000003  2017-01-29         1
5  JANETTE      100000000004  2018-01-17         1
6  BEN          100000000005  2017-05-03         6
7  BEN          100000000006  2017-01-21         6
8  BEN          100000000007  2017-01-24         6
9  BEN          100000000008  2017-01-23         6
10 BEN          100000000009  2017-01-22         6
11 BEN          100000000010  2018-07-03         6

В этом наборе данных Я хочу рассчитать разницу во времени между двумя сообщениями для одного и того же идентификатора пользователя .Например, пользователь "BEN" имеет 6 сообщений (как указывает post.freq), его первое сообщение было создано в 2017-01-21, а второе - 2017-01-22;разница во времени между этими двумя составляет 1 день.Для «BEN» разница во времени между его вторым и третьим постом снова составит 1 день (2017-01-22 и 2017-01-23) и т. Д .;в то время как разница во времени его нулевого и первого поста составляет NA.
Результат должен выглядеть примерно так:

> head(posts, 11)
     userId       postId      post.time    post.freq    post.timediff
1  JON          100000000000  2016-12-06         1          NA
2  JOSH         100000000001  2017-04-29         1          NA
3  JIMBO        100000000002  2018-08-24         1          NA
4  JAMIE        100000000003  2017-01-29         1          NA
5  JANETTE      100000000004  2018-01-17         1          NA      
6  BEN          100000000005  2017-05-03         6          99
7  BEN          100000000006  2017-01-21         6          NA
8  BEN          100000000007  2017-01-24         6          1
9  BEN          100000000008  2017-01-23         6          1
10 BEN          100000000009  2017-01-22         6          1
11 BEN          100000000010  2018-07-03         6          304

Я не мог понять, как это сделать.Кто-нибудь может мне помочь?
Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...