Биннинг по нескольким категориям
Я пытаюсь создать текстовый вывод длительностей резервного копирования, отсортированных по 30-минутным приращениям для 6 наших серверов резервного копирования. Пример входных данных (называемых newdata) выглядит следующим образом:
backup_server client duration
1 bkp01 server_A 60
2 bkp01 server_A 34
3 bkp01 server_A 230
4 bkp02 server_A 14
5 bkp02 server_C 29
6 bkp02 server_C 62
Теперь я могу бенвсе вместе с:
br.br <-seq(0,max(newdata$duration),by=30)
cbind(table(cut(newdata$duration,br.br,right=FALSE)))
Который обеспечивает такой вид вывода:
[,1]
[0,30) 3523
[30,60) 1394
[60,90) 230
[90,120) 35
[120,150) 10
[150,180) 0
[180,210) 3
Я хотел бы увидеть что-то вроде этого:
[,1] bkp01 bkp02
[0,30) 523 422
[30,60) 394 30
[60,90) 130 10
[90,120) 5 3
[120,150) 1 2
[150,180) 0 10
[180,210) 2 20
Самое близкое, что я получил, - это использование агрегатной функции, но на самом деле она не выполняет то, что мне нужно
> aggregate(newdata$Duration, by=list(newdata$TSM_server),FUN=mean)
Group.1 x
1 bkp01 31.13307
2 bkp02 16.58491