Combinar linhas entre conjuntos...

cbind(A,B) 2012/7/16 andrebvs <andrebvs@bol.com.br>
Como combinar cada linha do conjunto A com cada linha do conjunto B, por exemplo:
*Conjunto A:*
[,1] [,2] [,3] [1,] 1 3 5 [2,] 1 3 7 [3,] 1 3 9 [4,] 1 3 11 [5,] 1 3 13 [6,] 1 3 15 [7,] 1 3 17 [8,] 1 3 19 [9,] 1 3 21 [10,] 1 3 23 . . . [4060,] 55 57 59
*Conjunto B:*
[,1] [,2] [,3] [1,] 2 4 6 [2,] 2 4 8 [3,] 2 4 10 [4,] 2 4 12 [5,] 2 4 14 [6,] 2 4 16 [7,] 2 4 18 [8,] 2 4 20 [9,] 2 4 22 . . . [4060,] 56 58 60
*Resultado esperado:*
[1,] 1 3 5 2 4 6 [2,] 1 3 5 2 4 8 . . . [4060,] 55 57 59 56 58 60
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.

Como assim não deu certo? O que aconteceu? 2012/7/16 andrebvs <andrebvs@bol.com.br>
obg, mas nao deu certo!
------------------------------ Em 16/07/2012 22:46, *Daniel C Bezerra < danielcbezerra@gmail.com >*escreveu: cbind(A,B)
2012/7/16 andrebvs <andrebvs@bol.com.br<http://mce_host/compose?to=andrebvs@bol.com.br>
Como combinar cada linha do conjunto A com cada linha do conjunto B, por exemplo:
*Conjunto A:*
[,1] [,2] [,3] [1,] 1 3 5 [2,] 1 3 7 [3,] 1 3 9 [4,] 1 3 11 [5,] 1 3 13 [6,] 1 3 15 [7,] 1 3 17 [8,] 1 3 19 [9,] 1 3 21 [10,] 1 3 23 . . . [4060,] 55 57 59
*Conjunto B:*
[,1] [,2] [,3] [1,] 2 4 6 [2,] 2 4 8 [3,] 2 4 10 [4,] 2 4 12 [5,] 2 4 14 [6,] 2 4 16 [7,] 2 4 18 [8,] 2 Â 4 20
[9,] 2 4 22 . . . [4060,] 56 58 60
*Resultado esperado:*
[1,] 1 3 5 2 4 6 [2,] 1 3 5 2 4 8 . . . [4060,] 55 57 59 56 58 60
desde já agradeço!
*Att. André*
_______________________________________________ R-br mailing list R-br@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) e forneça código mínimo reproduzível.
_______________________________________________ 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.

Converta para data.frame e use o merge() ## CMR # matrizes m1 <- matrix(c(1,3,5,1,3,7,1,3,9), nrow=3, byrow=T) m2 <- matrix(c(2,4,6,2,4,8,2,4,10), nrow=3, byrow=T) # converte para data.frame m1.df <- as.data.frame(m1) m2.df <- as.data.frame(m2) # faz o merge saida <- merge(m1.df, m2.df, by = NULL, all = TRUE, sort = FALSE) # se quiser voltar para matrix... saida <- as.matrix(saida) colnames(saida) <- NULL []s, --- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com 2012/7/16 andrebvs <andrebvs@bol.com.br>:
Como combinar cada linha do conjunto A com cada linha do conjunto B, por exemplo:
Conjunto A:
[,1] [,2] [,3] [1,] 1 3 5 [2,] 1 3 7 [3,] 1 3 9 [4,] 1 3 11 [5,] 1 3 13 [6,] 1 3 15 [7,] 1 3 17 [8,] 1 3 19 [9,] 1 3 21 [10,] 1 3 23 . . . [4060,] 55 57 59
Conjunto B:
[,1] [,2] [,3] [1,] 2 4 6 [2,] 2 4 8 [3,] 2 4 10 [4,] 2 4 12 [5,] 2 4 14 [6,] 2 4 16 [7,] 2 4 18 [8,] 2 4 20 [9,] 2 4 22 . . . [4060,] 56 58 60
Resultado esperado:
[1,] 1 3 5 2 4 6 [2,] 1 3 5 2 4 8 . . . [4060,] 55 57 59 56 58 60
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.

Depende do que significa "dar pau". Se o código retornou algum erro, poste ele aqui para podermos analisar. Se o número de combinações for muito grande e isso causar um estouro de memória, aí a solução é outra: comprar mais RAM (ou usar um servidor ou outra máquina com mais RAM), e/ou usar algum pacote para lidar com objetos grandes. Um bom início está aqui: http://www.r-bloggers.com/r-references-for-handling-big-data/ Embora acredito que o grande problema será internamente na própria função merge(). Não sei se existe uma solução mais eficiente. []s, --- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com On Mon, Jul 16, 2012 at 11:34 PM, andrebvs <andrebvs@bol.com.br> wrote:
Obg Fernando, mais deu pau na saida, pq será gerado 16.483.600 combinações. Tem como nao dar pau?
________________________________ Em 16/07/2012 23:17, Fernando Mayer < fernandomayer@gmail.com > escreveu:
Converta para data.frame e use o merge()
## CMR
# matrizes m1 <- matrix(c(1,3,5,1,3,7,1,3,9), nrow=3, byrow=T) m2 <- matrix(c(2,4,6,2,4,8,2,4,10), nrow=3, byrow=T)
# converte para data.frame m1.df <- as.data.frame(m1) m2.df <- as.data.frame(m2)
# faz o merge saida <- merge(m1.df, m2.df, by = NULL, all = TRUE, sort = FALSE)
# se quiser voltar para matrix... saida <- as.matrix(saida) colnames(saida) <- NULL
[]s,
--- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com
2012/7/16 andrebvs :
Como combinar cada linha do conjunto A com cada linha do conjunto B, por exemplo:
Conjunto A:
[,1] [,2] [,3] [1,] 1 3 5 [2,] 1 3 7 [3,] 1 3 9 [4,] 1 3 11 [5,] 1 3 13 [6,] 1 3 15 [7,] 1 3 17 [8,] 1 3 19 [9,] 1 3 21 [10,] 1 3 23 . . . [4060,] 55 57 59
Conjunto B:
[,1] [,2] [,3] [1,] 2 4 6 [2,] 2 4 8 [3,] 2 4 10 [4,] 2 4 12 [5,] 2 4 14 [6,] 2 4 16 [7,] 2 4 18 [8,] 2 4 20 [9,] 2 4 22 . . . [4060,] 56 58 60
Re sultado esperado:
[1,] 1 3 5 2 4 6 [2,] 1 3 5 2 4 8 . . . [4060,] 55 57 59 56 58 60
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.
_______________________________________________ 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.
_______________________________________________ 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.
participantes (3)
-
andrebvs
-
Daniel C Bezerra
-
Fernando Mayer