[R-br] Combinar colunas de um banco de dados...

Luciano F. Sgarbi luciano.f.sgarbi em gmail.com
Segunda Julho 30 09:24:27 BRT 2012


#Seria isso:
data<-read.table('clipboard',h=T)##esse é aquela matriz de 12 colunas
combinations<-combn(colnames(data),6)
loop<-ncol(combinations)
resu<-matrix(0,10,loop)
colnames(resu)<-paste(rep("comb",loop),"_",1:loop,sep="")
rownames(resu)<-paste(rep("row",10),"_",1:10,sep="")
for(i in 1:loop){
resu[,i]<-rowSums(data[,combinations[,i]])
}
resu


2012/7/29 andrebvs <andrebvs em bol.com.br>

> Obg colegas!
>
> Agora, tem como somar as linhas de cada combinação? De forma que eu tenha
> um resultado geral do tipo:
>
> C1  C2  C3  ... C924
> [1,]    5   5
> [1,]    6   5
> [1,]    4   6
> [1,]    6   5
> [1,]    6   4
> [1,]    4   7
> [1,]    4   7
> [1,]    3   8
> [1,]    9   8
> [1,]    2   6
> .
> .
> .
> [1265,]
>
>
> *thanks!*
>
>
> ------------------------------
> Em 29/07/2012 20:01, *Luciano F. Sgarbi < luciano.f.sgarbi em gmail.com >*escreveu:
> É isso mesmo!
>
> 2012/7/29 Pedro Rafael <pedro.rafael.marinho em gmail.com<http://mce_host/compose?to=pedro.rafael.marinho@gmail.com>
> >
>
>> Se quiser uma outra combinação colocar
>> dados[as.vector(colunas_combinadas[,2])]
>> [   ],
>> Pedro Rafael Diniz Marinho.
>>
>>
>> Em 29 de julho de 2012 19:55, Pedro Rafael
>> <pedro.rafael.marinho em gmail.com<http://mce_host/compose?to=pedro.rafael.marinho@gmail.com>>
>> escreveu:
>>  > dados = read.table("dados_teste.txt",header=TRUE)
>> > nomes_das_colunas = as.vector(colnames(dados))
>> > colunas_combinadas = combn(nomes_das_colunas,6)
>> > dados[as.vector(colunas_combinadas[,1])]
>> > [   ],
>> > Pedro Rafael Diniz Marinho.
>> >
>> >
>> > Em 29 de julho de 2012 19:47, andrebvs [via R-br]
>> > <ml-node+s2285057n4655711h18 em n4.nabble.com<http://../../../undefined/compose?to=ml-node>>
>> escreveu:
>> >> Olá Luciano!
>> >>
>> >> A dúvida é a seguinte:
>> >> 1º) Tenho o seguinte banco de dados abaixo:
>> >>
>> >>
>> >> Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12
>> >> 1     1  0   3   1   0   0   0   1   0    1    0    1
>> >> 2     1  3   0   0   1   1   0   1   1    0    2    1
>> >> 3     0  2   1   0   0   1   3   0   0    1    0    0
>> >> 4     1  0   0   2   2   1   0   0   0    0    2    1
>> >> 5     0  2   1   0   1   2   0   1   1    1    0    2
>> >> 6     1  1   0   1   1   0   3   1   2    1    1    0
>> >> 7     1  1   0   1   1   0   0   0   0    1    1    1
>> >> 8     0  1   0   1   0   1   2   0   2    0    3    0
>> >> 9     1  2   3   1   2   0   0   0   0    2    0    1
>> >> 10    0  1   0  1   0   0   1   0   1    1    0    2
>> >>
>> >> 2º) Quero combinar todas as 12 colunas tomadas 6 à 6, fazendo as contas
>> >> terei 924 combinações possivéis, e uma combinação possível seria, por
>> >> exemplo a seguinte:
>> >>
>> >> Q1  Q4  Q7 Q8 Q9  Q12
>> >> 1     1    1    0   1   0    1
>> >> 2     1    0    0 Â   1   1    1
>>
>> >> 3     0    0    3   0   0    0
>> >> 4     1    2    0   0   0    1
>> >> 5     0    0    0   1   1    2
>> >> 6     1    1    3   1   2    0
>> >> 7     1    1    0   0   0    1
>> >> 8     0    1    2   0   2    0
>> >> 9     1    1    0   0   0    1
>> >> 10    0   1    1   0   1     2
>> >>
>> >> Repare que, das 12 colunas iniciais, tenho essa última com 6 colunas,
>> a qual
>> >> é uma possível combinação das 924. Então, como extrair todas as 924
>> >> combinações da matriz inicial?
>> >>
>> >> 3º) Após isso, ou seja, após ter encontrado todas as 924 combinações,
>> >> gostaria também, que tivesse um vetor q ue me retorne a soma de cada
>> linha
>> >> de cada combinação. Por exemplo:
>> >>
>> >> combin ação1
>> >> combinação924
>> >> Q1  Q4  Q7 Q8 Q9  Q12    soma das linhas          . . . Q6  Q1  Q11
>>  Q2 Q9
>> >> Q7          soma das linhas
>> >> 1     1    1    0   1   0    1            4
>> >> 0                                                 2
>> >> 2     1    0    0   1   1    1            4
>> >> 1                                                 3
>> >> 3     0    0    3   0   0    0            3
>>    � �
>> >> 3                                                 5
>> >> 4     1    2    0   0   0    1            4
>> >> 3                                                 1
>> >> 5     0    0    0   1   1    2            4
>>  &g t;> .                                                  .
>>
>> >> 6     1    1    3   1   2    0            8
>> >> .                                                  .
>> >> 7     1    1    0   0   0    1            3
>>>> >> �     .                                                  .
>> >> 8     0    1    2   0   2    0            5
>> >> etc                                              etc
>> >> 9     1    1    0   0   0    1            3
>> >> 10    0   1    1   0   1     2            5
>> >>
>> >> desde já agradeço!
>> >>
>> >>
>> >> ________________________________
>> >> Em 29/07/2012 19:04, Luciano F. Sgarbi < [hidde n email] > escreveu:
>>
>> >> Boa tarde.
>> >> Tentei, mas não entendi sua pergunta.
>> >> Você pode ser um pouco mais especifico?
>> >> Abraços
>> >>
>> >> 2012/7/29 andrebvs
>> >>>
>> >>> Olá pessoal, gostaria de saber como faço para combinar essas 12
>> colunas
>> >>> (Q1 até Q12) tomados 6 à 6 colunas:
>> >>>
>> >>> Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12
>> >>> 1     1  0   3   1   0   0   0   1   0    1    0    1
>> >>> 2     1  3   0   0   1   1   0   1   1    0    2    1
>> >>> 3     0  2   1   0   0   1   3   0   0    1    0    0
>> >>> 4     1  0   0   2   2   1   0   0   0    0    2    1
>> >>> 5     0  2   1   0   1   2   0   1   1    1    0    2
>> >>> 6     1  1   0   1   1   0   3   1 Â   2    1    1    0
>>
>> >>> 7     1  1   0   1   1   0   0   0   0    1    1    1
>> >>> 8     0  1   0   1   0   1   2   0   2    0    3    0
>> >>> 9     1  2   3   1   2   0   0   0   0    2    0    1
>> >>> 10    0  1 � � 0  1   0   0   1   0   1    1    0    2
>> >>>
>> >>> desde já agradeço!
>> >>>
>> >>> Att.
>> >>> André
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> R-br mailing list
>> >>> R-br em ...
>> >>>
>> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>  >>> Leia o guia de postagem (http://www.leg.ufpr.b r/r-br-guia<http://www.leg.ufpr.br/r-br-guia>)
>> e forneça
>>
>> >>> código mínimo reproduzível.
>> >>
>> >>
>> >>
>> >> --
>> >> Luciano F. Sgarbi
>> >> Mestrando em Ecologia e Evolução - UFG
>> >>
>> >> Laboratório de Ecologia de Insetos
>> >> Cel. (62)8174-2262 Lab. (62)3521-1732
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> R-br mailing list
>> >> [hidden email]
>> >> 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.
>> >>
>> >> ________________________________
>> >> If you reply to this email, your message will be added to the
>> discussion
>> >> below:
>> >>
>> http://r-br.2285057.n4.nabble.com/R-br-Combinar-colunas-de-um-banco-de-dados-tp4655709p4655711.html
>> >> To unsubscribe from R-br, click here.
>> >> NAML
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br<http://mce_host/compose?to=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<http://www.leg.ufpr.br/r-br-guia>)
>> e forneça código mínimo reproduzível.
>>
>
>
>  --
> Luciano F. Sgarbi
> Mestrando em Ecologia e Evolução - UFG
>
> Laboratório de Ecologia de Insetos
> Cel. (62)8174-2262   Lab. (62)3521-1732
>
>
>
>
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>



-- 

Luciano F. Sgarbi

Mestrando em Ecologia e Evolução - UFG

Laboratório de Ecologia de Insetos

Cel. (62)8174-2262   Lab. (62)3521-1732
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120730/5e892362/attachment.html>


Mais detalhes sobre a lista de discussão R-br