Desculpe mas foi um erro meu. No data.table tem que usar o setkey() antes para definir qual campo(os) vão ser as chaves.
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)
require(data.table)
dt <- data.table(df)
setkey(dt, sexo, idade)
dt[,list(soma=sum(tcont), count=.N), by=list(idade,sexo)]
rode esse código que funciona.
Só uma ressalva: a solução com o plyr funciona, só que com o data.table é muito mais rápido com conjuntos grandes de dados.

