sexo=c("1","1","2","2","1","2","1","1","1","1","2")
idade=c("1","3","2","1","1","1","2","2","3","3","3")
tcont=c(100,320,24,256,134,290,18,34,15,121,32)
read=c("1","0","0","0","1","1","1","1","1","1","0")
df=data.frame(sexo,idade,read,tcont)
dt[,list(soma=sum(tcont), count=.N), by=list(idade,sexo)]
que é equivalente a :
ddply(dados, .(idade, sexo), summarize, soma=sum(tcont), count = length(tcont))
ambos com saída:
idade sexo soma count
1: 1 1 267 4
2: 2 2 570 3
3: 3 1 475 3
O data.table tem uma grande vantagem sobre o plyr que é a velocidade. Quando o arquivo é muito grande ele pode chegar a ser 100x mais rápido.