Tente algo com o próprio aggregate... da forma:

> aggregate(arquivo[, 2:4], by = list(arquivo[,1]), FUN = sum)

Comigo vem funcionando... reporte qualquer resultado!

att,
FH

2012/10/1 Carlos Mendonça <csaeslpv@centroin.com.br>
Caros,

existe uma forma mais prática de somar várias variáveis por um determinado by, ao invés da maneira que faço atualmente?

Arquivo de dados (arquivo)

codigo valor1       valor2                         valor3
a              3                   25                             30
a              5                   10                             50
a              2                   15                             20
b            15                   85                             20
b              5                   15                             10
c              2                     5                             25
c              4                     7                               5
c              2                     5                               8
c              2                     3                             12


1) Utilizo o comando arq1 = aggregate(arq1$valor1, list(arquivo$codigo), sum) para somar o valor1 por cada codigo.

2) Utilizo o comando arq2 = aggregate(arq1$valor2, list(arquivo$codigo), sum) para somar o valor2 por cada codigo.

3) Utilizo o comando arq3 = aggregate(arq1$valor3, list(arquivo$codigo), sum) para somar o valor3 por cada codigo.

4) Depois junto o arq1, arq2 e arq3 e fico com um arquivo igual ao abaixo:

codigo valor1     valor2 valor3
a             10          50    100
b             20               100         30
c             10          20         50


_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.