<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span><div>Segue abaixo um exemplo de como fazer a combinação de colunas sem utilizar o laço for. Dependendo da operação o for pode demandar muito tempo!</div><div><br></div><div><br></div><div>X <- matrix(1:120,10,12)</div><div>X</div><div>combina <- combn(ncol(X),6)</div><div>dim(combina)</div><div><br></div><div>MultMat <- array(X[,combina],dim=c(nrow(X),dim(combina)[1],dim(combina)[2]))</div><div>dim(MultMat)</div><div>### Conferindo</div><div>MultMat[,,1:2]</div><div>MultMat[,,3]</div><div>MultMat[,,924]</div><div><br></div><div>### Somando as linhas de cada combinação</div><div><br></div><div>soma_linhas <- apply(MultMat,3,rowSums)</div><div>dim(soma_linhas)</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></div><div style="font-family: 'times new
roman', 'new york', times, serif; font-size: 12pt; ">Valeu!!!</div></span></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> </div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> Fábio Mathias Corrêa<br><br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> Universidade Estadual de Santa Cruz<br>Departamento de Ciências Exatas e da Terra - DCET</div><br><br><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Campus Soane Nazaré de Andrade, km 16 Rodovia Ilhéus-Itabuna<br>CEP 45662-900. Ilhéus-Bahia</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br><br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Tel.: 73-3680-5076<br> <div
style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">De:</span></b> andrebvs <andrebvs@bol.com.br><br> <b><span style="font-weight: bold;">Para:</span></b> r-br@listas.c3sl.ufpr.br <br> <b><span style="font-weight: bold;">Enviadas:</span></b> Terça-feira, 31 de Julho de 2012 13:22<br> <b><span style="font-weight: bold;">Assunto:</span></b> Re: [R-br] Combinar colunas de um banco de dados...<br> </font> </div> <br><div id="yiv313614926">obg Luciano!<br> <br><br>
<hr style="border-top:1px solid #ccc;">
Em 30/07/2012 09:24, <b>Luciano F. Sgarbi < luciano.f.sgarbi@gmail.com ></b> escreveu:<br>#Seria isso:
<div>
<div>data<-read.table('clipboard',h=T)##esse é aquela matriz de 12 colunas</div>
<div>combinations<-combn(colnames(data),6)</div>
<div>loop<-ncol(combinations)</div>
<div>resu<-matrix(0,10,loop)</div>
<div>colnames(resu)<-paste(rep("comb",loop),"_",1:loop,sep="")</div>
<div>rownames(resu)<-paste(rep("row",10),"_",1:10,sep="")</div>
<div>for(i in 1:loop){</div>
<div>resu[,i]<-rowSums(data[,combinations[,i]])</div>
<div>}</div>
<div>resu</div>
</div>
<div><br><br>
<div class="yiv313614926gmail_quote">2012/7/29 andrebvs <span dir="ltr"><<a rel="nofollow" target="_blank" href="http://mce_host/compose?to=andrebvs@bol.com.br">andrebvs@bol.com.br</a>></span><br>
<blockquote class="yiv313614926gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Obg colegas!<br><br>Agora, tem como somar as linhas de cada combinação? De forma que eu tenha um resultado geral do tipo:<br> <br> C1 C2 C3 ... C924 <br>[1,]   5  5<br>[1,]   6  5<br>[1,]   4  6<br>[1,]   6  5<br>[1,]   6  4<br>[1,]   4  7<br>[1,]   4  7<br>[1,]   3  8<br>[1,]   9  8<br>[1,]   2  6<br>.<br>.<br>.<br>[1265,]<br> <br><br><i>thanks!</i><br> <br><br>
<hr style="border-top:1px solid #ccc;">
Em 29/07/2012 20:01, <b>Luciano F. Sgarbi < <a rel="nofollow" target="_blank" href="http://mce_host/compose?to=luciano.f.sgarbi@gmail.com">luciano.f.sgarbi@gmail.com</a> ></b> escreveu:<br>É isso mesmo!<br><br>
<div class="yiv313614926gmail_quote">2012/7/29 Pedro Rafael <span dir="ltr"><<a rel="nofollow" target="_blank" href="http://mce_host/compose?to=pedro.rafael.marinho@gmail.com">pedro.rafael.marinho@gmail.com</a>></span><br>
<blockquote class="yiv313614926gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>
<div class="yiv313614926h5">Se quiser uma outra combinação colocar dados[as.vector(colunas_combinadas[,2])]<br>
<div>[ Â ],<br> Pedro Rafael Diniz Marinho.<br> <br> <br></div>
Em 29 de julho de 2012 19:55, Pedro Rafael<br> <<a rel="nofollow" target="_blank" href="http://mce_host/compose?to=pedro.rafael.marinho@gmail.com">pedro.rafael.marinho@gmail.com</a>> escreveu:</div>
</div>
<div>
<div>
<div>
<div class="yiv313614926h5">> dados = read.table("dados_teste.txt",header=TRUE)<br> > nomes_das_colunas = as.vector(colnames(dados))<br> > colunas_combinadas = combn(nomes_das_colunas,6)<br> > dados[as.vector(colunas_combinadas[,1])]<br> > [  ],<br> > Pedro Rafael Diniz Marinho.<br> ><br> ><br> > Em 29 de julho de 2012 19:47, andrebvs [via R-br]<br> > <<a rel="nofollow" target="_blank" href="http://../undefined/compose?to=ml-node">ml-node+s2285057n4655711h18@n4.nabble.com</a>> escreveu:<br> >> Olá Luciano!<br> >><br> >> A dúvida é a seguinte:<br> >> 1º) Tenho o seguinte banco de dados abaixo:<br> >><br> >><br> >> Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12<br> >> 1   1  0  3  1  0  0  0  1  0   1   0   1<br> >> 2 Â
 1  3  0  0  1  1  0  1  1   0   2   1<br> >> 3   0  2  1  0  0  1  3  0  0 Â
 1   0   0<br> >> 4   1  0  0  2  2  1  0  0  0   0   2   1<br> >> 5   0  2  1  0  1  2  0  1  1   1   0   2<br> >> 6   1  1  0  1  1  0  3  1  2   1   1   0<br> >> 7   1  1  0  1  1  0  0  0  0   1   1   1<br> >> 8   0  1  0  1  0  1  2  0  2   0   3   0<br> >> 9
  1  2  3  1  2  0  0  0  0   2   0   1<br> >> 10   0  1  0  1  0  0  1  0  1   1   0   2<br> >><br> >> 2º) Quero combinar todas as 12 colunas tomadas 6 à 6, fazendo as contas<br> >> terei 924 combinações possivéis, e uma combinação possÃvel seria, por<br> >> exemplo a seguinte:<br> >><br> >> Q1  Q4  Q7 Q8 Q9  Q12<br> >> 1   1   1   0  1  0   1</div>
</div>
>> 2   1   0   0 Â  1  1   1
<div>
<div class="yiv313614926h5"><br> >> 3 Â Â 0 Â Â 0 Â Â 3 Â 0 Â 0 Â Â 0<br> >> 4 Â Â 1 Â Â 2 Â Â 0 Â 0 Â 0 Â Â 1<br> >> 5 Â Â 0 Â Â 0 Â Â 0 Â 1 Â 1 Â Â 2<br> >> 6 Â Â 1 Â Â 1 Â Â 3 Â 1 Â 2 Â Â 0<br> >> 7 Â Â 1 Â Â 1 Â Â 0 Â 0 Â 0 Â Â 1<br> >> 8 Â Â 0 Â Â 1 Â Â 2 Â 0 Â 2 Â Â 0<br> >> 9 Â Â 1 Â Â 1 Â Â 0 Â 0 Â 0 Â Â 1<br> >> 10 Â Â 0 Â 1 Â Â 1 Â 0 Â 1 Â Â 2<br> >><br> >> Repare
que, das 12 colunas iniciais, tenho essa última com 6 colunas, a qual<br> >> é uma possÃvel combinação das 924. Então, como extrair todas as 924<br> >> combinações da matriz inicial?<br> >><br> >> 3º) Após isso, ou seja, após ter encontrado todas as 924 combinações,<br> >> gostaria também, que tivesse um vetor q ue me retorne a soma de cada linha<br> >> de cada combinação. Por exemplo:<br> >><br> >> combin
ação1<br> >> combinação924<br> >> Q1  Q4  Q7 Q8 Q9  Q12   soma das linhas      . . . Q6  Q1  Q11  Q2 Q9<br> >> Q7      soma das linhas<br> >> 1   1   1   0  1  0   1       4<br> >> 0                         2<br> >> 2   1   0   0  1  1   1       4<br> >> 1        Â
                3<br> >> 3   0   0   3  0  0   0       3                � �<br> >> 3                         5<br> >> 4   1   2   0  0  0   1       4<br> >> 3         Â
               1<br> >> 5   0   0   0  1  1   2       4</div>
</div>
&g t;> . Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â .
<div class="yiv313614926im"><br> >> 6   1   1   3  1  2   0       8<br> >> .                          .<br> >> 7   1   1   0  0  0   1       3                �<br> >> �   .                   Â
      .<br> >> 8   0   1   2  0  2   0       5<br> >> etc                        etc<br> >> 9   1   1   0  0  0   1       3<br> >> 10   0  1   1  0  1   2       5<br> >><br> >> desde já agradeço!<br> >><br> >><br> >> ________________________________</div>
>> Em 29/07/2012 19:04, Luciano F. Sgarbi < [hidde n email] > escreveu:
<div class="yiv313614926im"><br> >> Boa tarde.<br> >> Tentei, mas não entendi sua pergunta.<br> >> Você pode ser um pouco mais especifico?<br> >> Abraços<br> >><br> >> 2012/7/29 andrebvs <br> >>></div>
<div class="yiv313614926im">>>> Olá pessoal, gostaria de saber como faço para combinar essas 12 colunas<br> >>> (Q1 até Q12) tomados 6 à 6 colunas:<br> >>><br> >>> Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12<br> >>> 1   1  0  3  1  0  0  0  1  0   1   0   1<br> >>> 2   1  3  0  0  1  1  0  1  1   0   2   1<br> >>> 3   0  2  1  0  0  1  3  0  0   1   0   0<br> >>> 4   1  0  0  2  2  1  0  0  0   0   2
  1<br> >>> 5   0  2  1  0  1  2  0  1  1   1   0   2</div>
>>> 6   1  1  0  1  1  0  3  1 Â  2   1   1   0
<div class="yiv313614926im"><br> >>> 7   1  1  0  1  1  0  0  0  0   1   1   1<br> >>> 8   0  1  0  1  0  1  2  0  2   0   3   0<br> >>> 9   1  2  3  1  2  0  0  0  0   2   0   1<br> >>> 10   0  1 � � 0  1  0  0  1  0  1   1   0   2<br> >>><br> >>> desde já agradeço!<br> >>><br> >>> Att.<br> >>> André<br> >>><br> >>><br> >>>
_______________________________________________<br> >>> R-br mailing list<br> >>> R-br@...<br> >>><br> >>> <a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a></div>
>>> Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.b r/r-br-guia</a>) e forneça
<div class="yiv313614926im"><br> >>> código mÃnimo reproduzÃvel.<br> >><br> >><br> >><br> >> --<br> >> Luciano F. Sgarbi<br> >> Mestrando em Ecologia e Evolução - UFG<br> >><br> >> Laboratório de Ecologia de Insetos<br> >> Cel. <a rel="nofollow" href="">(62)8174-2262</a> Lab. <a rel="nofollow" href="">(62)3521-1732</a><br> >><br> >><br> >><br> >><br> >><br> >><br> >><br> >> _______________________________________________<br> >> R-br mailing list<br> >> [hidden email]<br> >> <a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a></div>
>> Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneç a código
<div class="yiv313614926im"><br> >> mÃnimo reproduzÃvel.<br> >><br> >> ________________________________<br> >> If you reply to this email, your message will be added to the discussion<br> >> below:<br> >> <a rel="nofollow" target="_blank" href="http://r-br.2285057.n4.nabble.com/R-br-Combinar-colunas-de-um-banco-de-dados-tp4655709p4655711.html">http://r-br.2285057.n4.nabble.com/R-br-Combinar-colunas-de-um-banco-de-dados-tp4655709p4655711.html</a><br> >> To unsubscribe from R-br, click here.<br> >> NAML<br> _______________________________________________<br> R-br mailing list<br> <a rel="nofollow" target="_blank" href="http://mce_host/compose?to=R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br> <a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a></div>
Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr .br/r-br-guia</a>) e forneça código mÃnimo reproduzÃvel.</div>
</div>
</blockquote>
</div>
<div class="yiv313614926HOEnZb">
<div class="yiv313614926h5"><br><br> -- <br><span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Luciano F. Sgarbi</span><br><span style="font-family: sans-serif; color: rgb(51, 51, 51); ">Mestrando em Ecologia e Evolução - UFG</span><br> <span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Laboratório de Ecologia de Insetos</span><br>
<div><span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Cel. <a rel="nofollow" href="">(62)8174-2262</a> Lab. <a rel="nofollow" href="">(62)3521-1732</a></span>
<div>
<div>Â </div>
<div>Â </div>
</div>
</div>
<br> <br></div>
</div>
<br>_______________________________________________<br> R-br mailing list<br> <a rel="nofollow" target="_blank" href="http://mce_host/compose?to=R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br> <a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br> Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mÃnimo reproduzÃvel.<br></blockquote>
</div>
<br><br>
-- <br> <span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Luciano F. Sgarbi</span><br><span style="font-family: sans-serif; color: rgb(51, 51, 51); ">Mestrando em Ecologia e Evolução - UFG</span><br>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px;"></blockquote>
<span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Laboratório de Ecologia de Insetos</span><br>
<div><span style="color: rgb(51, 51, 51); font-family: sans-serif; ">Cel. (62)8174-2262 Â Lab. (62)3521-1732</span>
<div>
<div>Â </div>
<div>Â </div>
</div>
</div>
</div>
<br>
</div><br>_______________________________________________<br>R-br mailing list<br><a ymailto="mailto:R-br@listas.c3sl.ufpr.br" 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><br> </div> </div> </div></div></body></html>