[R-br] Combinar linhas entre conjuntos...

Fernando Mayer fernandomayer em gmail.com
Terça Julho 17 00:01:55 BRT 2012


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 em 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 em 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 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.
> _______________________________________________
> 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.
>
>
> _______________________________________________
> 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.


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