[R-br] Large Merge

Wagner Tassinari wtassinari em gmail.com
Quinta Janeiro 14 14:13:45 BRST 2016


Olá pessoal, tudo bem ?

Estou com um problema, estou querendo fazer o merge entre dois bancos de
dados:

> dim(bancolink)
[1] 1630328       8
> dim(fichaAlink)
[1] 2954930       6

Minha variável - chave primária está com o formato character. Daí qunado eu
faço:

> CadUnico_fichaA_merge = merge(bancolink, fichaAlink, by.x=c('CPF'),
by.y=c('NUMERO_CPF'))

Error in vecseq(f__, len__, if (allow.cartesian || notjoin ||
!anyDuplicated(f__,  :
  Join results in 150596694 rows; more than 4585258 = nrow(x)+nrow(i).
Check for duplicate key values in i each of which join to the same group in
x over and over again. If that's ok, try by=.EACHI to run j for each group
to avoid the large allocation. If you are sure you wish to proceed, rerun
with allow.cartesian=TRUE. Otherwise, please search for this error message
in the FAQ, Wiki, Stack Overflow and datatable-help for advice.

Tentei fazer usando o formato data.table, daí ele dá um erro também:

> CadfAmerge = bancolink[fichaAlink]

Error in `[.data.table`(bancolink, fichaAlink) :
  When i is a data.table (or character vector), x must be keyed (i.e.
sorted, and, marked as sorted) so data.table knows which columns to join to
and take advantage of x being sorted. Call setkey(x,...) first, see ?setkey.

Desde já agradeço a todos,

-- 
Wagner S. Tassinari
Departamento de Matemática
Universidade Federal Rural do Rio de Janeiro.
BR-465, Km 7 - Seropedica, RJ - Brasil
CEP: 23890-000
Skype: wagner.tassinari
wtassinari em gmail.com
tassinari em ufrrj.br
-------------------------------------------------------
"Statistical thinking will one day be as necessary for efficient
citizenship as the ability to read and write."  (H.G.Wellis)
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160114/d01a4340/attachment.html>


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