Биннинг по нескольким категориям

Я пытаюсь создать текстовый вывод длительностей резервного копирования, отсортированных по 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

Ответы на вопрос(2)

Ваш ответ на вопрос