Rodrigo, boa tarde!
Se você já tranpos a matriz/dataframe e agregou a cada cinco linhas (tapply ou aggregate), pode transpor novamente o resultado o resultado para ficar com algo próximo a 370 colunas ou reformatar o banco com reshape::melt() para ficar com poucas colunas.
### <code r>
### Exemplo de uso do comando melt()
require(reshape)
head(melt(tips))
names(airquality) <- tolower(names(airquality))
melt(airquality, id=c("month", "day"))
names(ChickWeight) <- tolower(names(ChickWeight))
melt(ChickWeight, id=2:4)
### <\code>