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@gmail.comtassinari@ufrrj.br-------------------------------------------------------
"Statistical thinking will one day be as necessary for efficient citizenship as the ability to read and write." (H.G.Wellis)