Рассчитать частоту обновления в данных R - PullRequest
0 голосов
/ 29 января 2019

У меня есть несколько клиентов, отправляющих данные на сервер, на сервере у нас есть журнал, который отслеживает идентификатор клиента и время отправки, как это

ClientID, Time
"client_1",1548736876
"client_2",1548736800
"client_1",1548737070
"client_1",1548737249
"client_2",1548738902
...

Я хотел бы рассчитать средний интервал обновления для всех клиентов

для client_1: ((1548737249-1548737070) + (1548737070 - 1548736876))/2

для client_2: (1548738902-1548736800)

avg = (client_1 + client_2)/2

Как это можно сделать в R?

1 Ответ

0 голосов
/ 29 января 2019

Вы можете использовать таблицу данных следующим образом

ClientID <- c("client_1", "client_2", "client_1", "client_1", "client_2")
Time <- c(1548736876, 1548736800, 1548737070, 1548737249, 1548738902)
df <- data.table(ClientID = ClientID, Time = Time)
df

   ClientID       Time
1: client_1 1548736876
2: client_2 1548736800
3: client_1 1548737070
4: client_1 1548737249
5: client_2 1548738902

Рассчитать разницу времени для идентификатора клиента

diffdf <- df[, .(difftime = diff(Time)), .(ClientID)]
diffdf

   ClientID difftime
1: client_1      194
2: client_1      179
3: client_2     2102

Рассчитать среднее время для клиентаID

Avgdf <- diffdf[,.(Avg = mean(difftime)), .(ClientID)]
Avgdf

   ClientID    Avg
1: client_1  186.5
2: client_2 2102.0

Рассчитать окончательный средний

TotalAvg = mean(Avgdf$Avg)
TotalAvg
1144.25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...