Tente algo com o próprio aggregate... da forma:<div><br></div><div>> aggregate(arquivo[, 2:4], by = list(arquivo[,1]), FUN = sum)</div><div><br></div><div>Comigo vem funcionando... reporte qualquer resultado!</div><div>
<br></div><div>att,</div><div>FH<br><br><div class="gmail_quote">2012/10/1 Carlos Mendonça <span dir="ltr"><<a href="mailto:csaeslpv@centroin.com.br" target="_blank">csaeslpv@centroin.com.br</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Caros,<div><br></div><div>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?</div><div><br></div><div>Arquivo de dados (arquivo)</div><div><br></div><div>
<div>codigo<span style="white-space:pre-wrap"> </span>valor1<span style="white-space:pre-wrap"> </span> valor2<span style="white-space:pre-wrap"> </span> valor3</div>
<div>a<span style="white-space:pre-wrap"> </span> 3<span style="white-space:pre-wrap"> </span> 25<span style="white-space:pre-wrap"> </span> 30</div>
<div>a<span style="white-space:pre-wrap"> </span> 5<span style="white-space:pre-wrap"> </span> 10<span style="white-space:pre-wrap"> </span> 50</div>
<div>a<span style="white-space:pre-wrap"> </span> 2<span style="white-space:pre-wrap"> </span> 15<span style="white-space:pre-wrap"> </span> 20</div>
<div>b<span style="white-space:pre-wrap"> </span> 15<span style="white-space:pre-wrap"> </span> 85<span style="white-space:pre-wrap"> </span> 20</div>
<div>b<span style="white-space:pre-wrap"> </span> 5<span style="white-space:pre-wrap"> </span> 15<span style="white-space:pre-wrap"> </span> 10</div>
<div>c<span style="white-space:pre-wrap"> </span> 2 5<span style="white-space:pre-wrap"> </span> 25</div><div>c<span style="white-space:pre-wrap"> </span> 4<span style="white-space:pre-wrap"> </span> 7<span style="white-space:pre-wrap"> </span> 5</div>
<div>c<span style="white-space:pre-wrap"> </span> 2 5<span style="white-space:pre-wrap"> </span> 8</div><div>c<span style="white-space:pre-wrap"> </span> 2<span style="white-space:pre-wrap"> </span> 3<span style="white-space:pre-wrap"> </span> 12</div>
</div><div><br></div><div><br></div><div>1) Utilizo o comando arq1 = aggregate(arq1$valor1, list(arquivo$codigo), sum) para somar o valor1 por cada codigo.</div><div><br></div><div>2) Utilizo o comando arq2 = aggregate(arq1$valor2, list(arquivo$codigo), sum) para somar o valor2 por cada codigo.</div>
<div><br></div><div>3) Utilizo o comando arq3 = aggregate(arq1$valor3, list(arquivo$codigo), sum) para somar o valor3 por cada codigo.</div><div><br></div><div>4) Depois junto o arq1, arq2 e arq3 e fico com um arquivo igual ao abaixo:</div>
<div><br></div><div><div>codigo<span style="white-space:pre-wrap"> </span>valor1<span style="white-space:pre-wrap"> </span> valor2<span style="white-space:pre-wrap"> </span>valor3</div>
<div>a<span style="white-space:pre-wrap"> </span> 10 <span style="white-space:pre-wrap"> </span>50<span style="white-space:pre-wrap"> </span> 100</div>
<div>b<span style="white-space:pre-wrap"> </span> 20 100 30</div><div>c<span style="white-space:pre-wrap"> </span> 10 <span style="white-space:pre-wrap"> </span>20 50</div>
</div><div><br>
</div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>