library(bigmemory)<div>y = big.matrix(1200, 53130, tape='double', backingfile='cache.bin')</div><div>for ( i in 1:53130) y[,i] = rnorm(1200)</div><div>y[1:10,1:4]</div><div><br></div><div>Deixo para vc o exercício de ler o manual e toda a documentação no site do projeto e adapta-lo ao seu caso.</div>
<div><br></div><div>b<span></span><br><br>On Friday, 3 August 2012, andrebvs  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Olá pessoal, gostaria de saber como faço para simular um conjunto de dados com 53130 colunas e 1200 linhas sem problemas. Segue a rotina abaixo com a especificação de meu PC. Sei que existe um pacote chamado <em>"bigmemory</em>" mas não sei utilizar. Então, se for possível, gostaria que acrescentassem nessa minha rotina abaixo o uso desse pacote para resolver o problema que está aparecendo que é: "<strong><em>Erro: não é possível alocar vetor de tamanho 2.4 Gb</em></strong>". <br>
<br><strong># Matriz simulada:</strong><br><br> X <- matrix(rpois(30000,5),1200,25)<br> colnames(X) <- paste("C",1:25,sep="")<br><br><strong># Combinando as 25 colunas tomadas 5 à 5: </strong><br>
<br> combina <- combn(ncol(X),5)<br> MultMat <- array(X[,combina],dim=c(nrow(X),dim(combina)[1],dim(combina)[2]))<br> dim(MultMat)<br><br><strong># Verificando o rótulo (sequência) de uma determinada combinação:</strong><br>
 <br> comb <- 53130  #
  nº de comb. possiveis de 25 colunas tomadas 5 à 5.<br> nomes_das_colunas = as.vector(colnames(X))<br> colunas_combinadas = combn(nomes_das_colunas,5)<br> colunas_combinadas[,comb]<br> rotcomb <- paste("C",1:comb,sep="")<br>
 <br><strong># Conferindo todas as linhas de uma determinada combinação:</strong><br><br> combinação <- MultMat[,,1]<br> colnames(combinação) <- colunas_combinadas[,1]<br> combinação<br><br><strong># Armazenando numa lista as somas de cada linha de cada combinação:</strong><br>
<br> armsoma <- rep(list(rep(0,1200)),comb)<br><br> for (i in 1:comb)<br> {<br> soma_linhas <- colSums(aperm(MultMat,c(2,1,3)))<br> soma_linhas <- cbind(soma_linhas[,i])<br> colnames(soma_linhas) <- rotcomb[i]<br>
 armsoma[[i]] <- soma_linhas<br> }<br><br> saida <- matrix(unlist(armsoma),1200,comb)<br> write.table(saida,file="saidaCOMB.txt",append = FALSE, quote = TRUE, sep = " ")<br><br><u></u>Configurações do meu laptop:<br>
 <br> Marca: Compaq<br> Processador: Intel Pentium Dual Core<br> HD: 320 GB<br> Mémoria: 3GB RAM<br> Sistema: Windows7<br> Bits: 32<br>R version 2.13<br> <strong><br></strong><em>desde já agradeço!<br><br>Att.<br>André</em><strong><br>
</strong><br> 
<hr style="border-top:1px solid #ccc">
Em 31/07/2012 17:09, <strong>Benilton Carvalho < <a href="javascript:_e({}, 'cvml', 'beniltoncarvalho@gmail.com');" target="_blank">beniltoncarvalho@gmail.com</a> ></strong> escreveu:<br>e se quiser economizar uns decimos de segundo:<br>
<br>colSums(aperm(MultMat, c(2, 1, 3)))<br><br>2012/7/31 Fabio Mathias Corrêa :<br>> Isso mesmo!<br>><br>> Veja o help!<br>><br>> ?array<br>> ?apply<br>><br>>         Fábio Mathias Corrêa<br>><br>
>    Universidade Estadual de Santa Cruz<br>> Departamento de Ciências Exatas e da Terra - DCET<br>><br>><br>> Campus Soane Nazaré de Andrade, km 16 Rodovia Ilhéus-Itabuna<br>> CEP 45662-900. Ilhéus-Bahia<br>
><br>><br>> Tel.: 73-3680-5076<br>> ________________________________<br>> De: andrebvs <br>><br>> Para: <a href="javascript:_e({}, 'cvml', 'r-br@listas.c3sl.ufpr.br');" target="_blank">r-br@listas.c3sl.ufpr.br</a><br>
> Enviadas: Terça-feira, 31 de Julho de 2012 13:22<br>> Assunto: Re: [R-br] Combinar colunas de um banco de dados...<br>><br>> obg Luciano!<br>><
 br />><br>> ________________________________<br>> Em 30/07/2012 09:24, Luciano F. Sgarbi < <a href="javascript:_e({}, 'cvml', 'luciano.f.sgarbi@gmail.com');" target="_blank">luciano.f.sgarbi@gmail.com</a> ><br>
> escreveu:<br>> #Seria isso:<br>> data<-read.table('clipboard',h=T)##esse Ã© aquela matriz de 12 colunas<br>> combinations<-combn(colnames(data),6)<br>> loop<-ncol(combinations)<br>> resu<-matrix(0,10,loop)<br>
> colnames(resu)<-paste(rep("comb",loop),"_",1:loop,sep="")<br>> rownames(resu)<-paste(rep("row",10),"_",1:10,sep="")<br>> for(i in 1:loop){<br>> resu[,i]<-rowSums(data[,combinations[,i]])<br>
> }<br>> resu<br>><br>><br>> 2012/7/29 andrebvs <br>><br>> Obg colegas!<br>><br>> Agora, tem como somar as linhas de cada combinação? De forma que eu tenha<br>> 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>> thanks!<br>><br>><br>> ________________________________<br>> Em 29/07/2012 20:01, Luciano F. Sgarbi < <a href="javascript:_e({}, 'cvml', 'luciano.f.sgarbi@gmail.com');" target="_blank">luciano.f.sgarbi@gmail.com</a> ><br>
> escreveu:<br>> Ã‰ isso mesmo!<br>><br>> 2012/7/29 Pedro Rafael <br>><br>> Se quiser uma outra combinação colocar<br>> dados[as.vector(colunas_combinadas[,2])]<br>> [ Â  ],<br>> Pedro Rafael Diniz Marinho.<br>
><br>><br>> Em 29 de julho de 2012 19:55, Pedro Rafael<br>>  escreveu:<br>>> dados = read.table("dados_teste.txt",header=TRUE)<br>>> nomes_das_colunas = as.vector(colnames(dados))<br>>> colun
 as_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>
>>  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,<br>>>> por<br>>>> exemplo a seguinte:<br>
>>><br>>>> Q1 Â Q4 Â Q7 Q8 Q9 Â Q12<br>>>> 1 Â  Â  1 Â  Â 1 Â  Â 0 Â  1 Â  0 Â
   Â 1<br>>>> 2 Â  Â  1 Â  Â 0 Â  Â 0 Ã‚ Â  1 Â  1 Â  Â 1<br>><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<br>>>> 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<br>>>> combinações,<br>>>> gostaria também, que tivesse um vetor q ue me retorne a soma de cada<br>>>> 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<br>>>> Â Q11 Â Q2 Q9<br>>>> Q7 Â  Â  Â  Â  Â soma das linhas<br>
>>> 1 Â  Â  1 Â  Â 1 Â  Â 0 Â  1 Â  0 Â  Â 1 Â  Â  Â  Â  Â  Â 4<br>>>> 0 Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>>>> 2<br>>>> 2 Â  Â  1 Â  Â 0 Â  Â 0 Â  1 Â  1 Â  Â 1 Â  Â  Â  Â  Â  Â 4<br>
>>> 1 Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>>&gt
 ;> 3<br>>>> 3 Â  Â  0 Â  Â 0 Â  Â 3 Â  0 Â  0 Â  Â 0 Â  Â  Â  Â  Â  Â 3 Â  Â  Â  Â  Â<br>>>> Â  Â  Â  Â  Â  Â  Â  Â  Â  Â ï¿½ ï¿½<br>>>> 3 Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>
>>> 5<br>>>> 4 Â  Â  1 Â  Â 2 Â  Â 0 Â  0 Â  0 Â  Â 1 Â  Â  Â  Â  Â  Â 4<br>>>> 3 Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>>>> 1<br>>>> 5 Â  Â  0 Â  Â 0 Â  Â 0 Â  1 Â  1 Â  Â 2 Â  Â  Â  Â  Â  Â 4<br>
> &g t;> . Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>> Â  Â .<br>><br>>>> 6 Â  Â  1 Â  Â 1 Â  Â 3 Â  1 Â  2 Â  Â 0 Â  Â  Â  Â  Â  Â 8<br>>>> . Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 
  Â  Â  Â  Â<br>>>> Â .<br>>>> 7 Â  Â  1 Â  Â 1 Â  Â 0 Â  0 Â  0 Â  Â 1 Â  Â  Â  Â  Â  Â 3 Â  Â  Â  Â  Â<br>>>> Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  ï¿½<br>>>> ï¿½ Â  Â  . Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>
>>> Â  Â  Â  Â .<br>>>> 8 Â  Â  0 Â  Â 1 Â  Â 2 Â  0 Â  2 Â  Â 0 Â  Â  Â  Â  Â  Â 5<br>>>> etc Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â<br>>>> 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>>>> ________________________________<br>>>> Em 29/07/2012 19:04, Luciano F. Sgarbi
  < [hidde n email] > escreveu:<br>><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>>>>><br>>>>> Olá pessoal, gostaria de saber como faço para combinar essas 12<br>>>>> 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<br>>>>> 6 Â  Â  1 Â 1 Â  0 Â  1 Â  1 Â  0 Â  3 Â  1 Ã‚ Â  2 Â  Â 1 Â  Â 1 Â  Â 0<br>><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 Â  Â<br>
>>>> 2<br>>>>><br>>>>> desde já agradeço!<br>>>>><br>>>>> Att.<br>>>>> André<br>>>>><br>>>>><br>>>>> _______________________________________________<br>
>>>&
 gt; R-br mailing list<br>>>>> R-br@...<br>>>>><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.b" target="_blank">http://www.leg.ufpr.b</a> r/r-br-guia) e forneça<br>><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. (62)8174-2262 Lab. (62)3521-1732<br>
>>><br>>>><br>>>><br>>>><br>>>><br>>>><br>>>><br>>>> _______________________________________________<br>>>> R-br mailing list<
 br />>>> [hidden email]<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<br>
>>> código<br>><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>>>><br>>>> <a href="http://r-br.2285057.n4.nabble.com/R-br-Combinar-colunas-de-um-banco-de-dados-tp4655709p4655711.html" target="_blank">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 href="javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');" target="_blank">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" target="_blank">http://www.leg.ufpr</a> .br/r-br-guia) e forneça<br>> código mínimo reproduzível.<br>><br>><br>><br>> --<br>> Luciano F. Sgarbi<br>
> Mestrando em Ecologia e Evolução - UFG<br>> Laboratório de Ecologia de Insetos<br>> Cel. (62)8174-2262 Lab. (62)3521-1732<br>> Â<br>> Â<br>><br>><br>><br>> _______________________________________________<br>
> R-br mailing list<br>> <a href="javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');" target="_blank">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>
&
 gt; 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<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. (62)8174-2262 Â  Lab. (62)3521-1732<br>> Â<br>> Â<br>><br>><br>> _______________________________________________<br>
> R-br mailing list<br>> <a href="javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');" target="_blank">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<br>> mínimo reproduzível.<br>><br>><br>> ______________________________
 _________________<br>> R-br mailing list<br>> <a href="javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');" target="_blank">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<br>> mínimo reproduzível.<br>_______________________________________________<br>
R-br mailing list<br><a href="javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');" target="_blank">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>
</blockquote></div>