| 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)