merge.blocos {IBGEPesq} | R Documentation |
Permite a execução de um merge
em um grande volume de dados, analisando pequenos blocos de cada vez.
merge.blocos(dados1, dados2, tbloco = 3000)
dados1, dados2 |
Argumentos obrigatórios, do tipo matriz ou data-frame que, após a execução da função,
serão incorporadas em um só objeto. As colunas chaves são aquelas cujos nomes são comuns entre os objetos
dados1 e dados2 . |
tbloco |
Argumento opcional, que especifica o número de linhas que serão processadas de cada vez.
Se não for especificado, assume-se tbloco =3000. Esse valor foi utilizado eficientemente num
computador com 512MB de memória RAM. Para computadores com menos memória, deve-se especificar para
tbloco um valor menor que 3000. |
É retornado um novo data-frame, consistindo da incorporação dos objetos dados1
e dados2
. O novo objeto conterá um número de colunas igual a soma dos números de
colunas de dados1
e dados2
, menos o número de colunas comuns entre os dois objetos.
Eloane Gonçalves Ramos
library(IBGEPesq) ### leitura dos dados de pessoas data(dicpes2005) nomesdic <- c("UF", "V0102", "V0103", "V0302", "V0402", "V4704", "V4729") nomes <- c("UF", "CONTROLE", "SERIE", "SEXO", "COND_FAMILIA", "COND_ATIVIDADE", "PESOS") #ajuste esse caminho para apontar para o arquivo de microdados: caminho.microdados <- file.path("E:", "DADOS", "PES2005.TXT") nreg = 408148 dadospes <- le.pesquisa(dicionario=dicpes2005, pathname.in=caminho.microdados, codigos=nomesdic, nomes=nomes, quant=nreg) ### leitura dos dados de domicilios data(dicdom2005) nomesdic <- c("V0102", "V0103", "V0201") nomes <- c("CONTROLE", "SERIE", "ESPECIE_DOM") #ajuste esse caminho para apontar para o arquivo de microdados: caminho.microdados <- file.path("E:", "DADOS", "DOM2005.TXT") nreg = 142471 dadosdom <- le.pesquisa(dicionario=dicdom2005, pathname.in=caminho.microdados, codigos=nomesdic, nomes=nomes, quant=nreg) ### cruzamento dos dados de domicílios com os de pessoas dados <- merge.blocos(dadospes, dadosdom) rm(dadospes, dadosdom) arq.saida <- "dadosfamilias.Rdata" save(dados, file=arq.saida)