
Enquanto ninguem responde, da pra quebrar o galho assim. #Seus dados vet1 <- c(02,03,04,05,06,07,08,10,30,50,70,90) vet2 <- c(10,11,13,14,15,16,17,18,19,31,51,71,91) vet3 <- c(02,22,23,24,25,26,27,28,42,62,82) vet4 <- c(03,13,23,30,31,33,34,35,36,37,38,39,43,53,63,73,83,93) vet5 <- c(04,14,24,34,42,43,44,45,46,47,48,54,64,74,84,94) vet6 <- c(05,15,25,35,45,50,51,53,54,55,56,57,58,59,65,75,85,95) vet7 <- c(06,16,26,36,46,56,62,63,64,65,66,67,68,76,86,96) vet8 <- c(07,17,27,37,47,57,67,70,71,73,74,75,76,77,78,79,87,97) vet9 <- c(08,18,28,38,48,58,68,78,82,83,84,85,86,87,88,98) vet10 <- c(19,39,59,79,90,91,93,94,95,96,97,98,99) #junte numa lista inicial<-list(vet1,vet2,vet3,vet4,vet5,vet6,vet7,vet8,vet9,vet10) #descreva as combinações combinações<-combn(1:10,4) #faça uma pra testa dados<-list(c(inicial[[combinações[1,1]]],inicial[[combinações[2,1]]], inicial[[combinações[3,1]]],inicial[[combinações[4,1]]])) dados #repita pro resto for(i in 2:210) { dados[[i]]<-list(c(inicial[[combinações[1,i]]],inicial[[combinações[2,i]]], inicial[[combinações[3,i]]],inicial[[combinações[4,i]]])) } #confira, 210 combinações length(dados) #ache os duplicados duplicated(dados[[1]]) #retire eles pra um caso pra testa dados[[1]]<-dados[[1]][!duplicated(dados[[1]])] #repita pra todos for(i in 2:210) { dados[[i]]<-dados[[i]][!duplicated(dados[[i]])] } #sua lista final dados ###### Fim #### Acho que o ideal seria usar apply ao invez de loop com for, se for muito mais dados começa a ficar lento demais usar loop com for. Mas acho que da pra quebrar o galho por enquanto, espero que ajude. Em 27 de maio de 2012 12:12, andrebvs <andrebvs@bol.com.br> escreveu:
Olá pessoal, gostaria de saber como combinar vetores de tamanhos diferentes, por exemplo:
vet1 <- c(02,03,04,05,06,07,08,10,30,50,70,90) vet2 <- c(10,11,13,14,15,16,17,18,19,31,51,71,91) vet3 <- c(02,22,23,24,25,26,27,28,42,62,82) vet4 <- c(03,13,23,30,31,33,34,35,36,37,38,39,43,53,63,73,83,93) vet5 <- c(04,14,24,34,42,43,44,45,46,47,48,54,64,74,84,94) vet6 <- c(05,15,25,35,45,50,51,53,54,55,56,57,58,59,65,75,85,95) vet7 <- c(06,16,26,36,46,56,62,63,64,65,66,67,68,76,86,96) vet8 <- c(07,17,27,37,47,57,67,70,71,73,74,75,76,77,78,79,87,97) vet9 <- c(08,18,28,38,48,58,68,78,82,83,84,85,86,87,88,98) vet10 <- c(19,39,59,79,90,91,93,94,95,96,97,98,99)
uma combinação seria, por exemplo: vet1,vet2,vet7,vet10, me retornaria o seguinte:
02,03,04,05,06,07,08,10,30,50,70,90,10,11,13,14,15,16,17,18,19,31,51,71,91,06,16,26,36,46,56,62,63,64,65,66,67,68,76,86,96, 19,39,59,79,9 0,91,93,94,95,96,97,98,99.
então, quero combinar vetores tomandos 4 a 4 nesses 10 vetores, desde modo, terei um total de 210 vetores combinados ao todo. Se não for pedir muito, gostaria tb que tais resultados nao viessem com números repetidos.
desde já agradeço.
Att. André
_______________________________________________ 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.
-- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056