Что-то вроде:
tt <- table(cut(as.POSIXlt(d$timestamp),"1 sec"))
c(mean(tt),median(tt),sd(tt))
Вы не предоставили воспроизводимый пример, поэтому я не уверен на 100%, что это работает, но что-то в этом роде ... также не знаю, насколько хорошо это будетмасштабирование до гигантских наборов данных.
Более подробно (с примером):
set.seed(1001)
n <- 1e5
nt <- 1e5
z <- seq(as.POSIXct("2010-09-01"),length=nt,by="1 sec")
length(z)
z2 <- sample(z,size=n,replace=TRUE)
tt <- table(cut(z2,"1 sec"))
c(mean(tt),median(tt),sd(tt))
Этот небольшой пример показывает, что команда cut () может быть медленной.Поиграйте с параметрами 'nt' (количество секунд в интервале времени от начала до конца) и 'n' (количество сэмплов), чтобы понять, сколько времени займет ваша проблема.