Não tenho experiência com o banco de dados do Censo, apenas com o da PNAD. Em geral, dá para você converter os dados das instruções de leitura do SAS para parâmetros a serem fornecidos para a leitura do arquivo TXT, que está em formato de largura fixa (FWF).
A partir daí você tem dois caminhos possíveis. Um é jogar os dados num banco de dados como já foi discutido. Isso lhe possibilita trabalhar com mais dados do que a abordagem seguinte, que é a que eu conheço melhor.
Outro caminho, para o caso de você querer trabalhar com poucas variáveis, é você converter, com a função fwf2csv() do pacote descr, o arquivo TXT num arquivo CSV. Esse arquivo CSV, por sua vez, pode ser lido pela função fread() do pacote data.table. A função fread permite ler apenas as variáveis desejadas, de forma a fazer caber na memória RAM todas as observações desejadas. Se você ainda não conhece data.table,
leia a introdução oficial.
Caso você opte pelo segundo caminho, pode adaptar este script para seus próprios fins:
fwf2csv.SAScii <- function(fwffile, csvfile, input, verbose = getOption("verbose")) {
require("SAScii")
require("descr")
# Usuário precisa conferir antes se a codificação de caracteres está correta...
dic <- within(parse.SAScii(input), {
end <- cumsum(width)
begin <- c(1, 1 + cumsum(width)[-length(width)])
})
fwf2csv(fwffile = fwffile, csvfile = csvfile, verbose = verbose,
names = dic$varname, begin = dic$begin, end = dic$end)
}
Onde "input" é o arquivo ".sas" com as instruções de leitura para o SAS.
Saudações,
Em Sáb 4 jun. 2016, às 16:46, Edimeire Alexandra Pinto escreveu:
Rodnei, no e-mail que mandei antes, so resumindo, os dados do censo estão em txt em meu computador e preciso selecionar algumas variáveis e exportar p o r, usando o pacote sqlite ou outro que souber
Gente, se alguém mais souber eu agradeço a ajuda
Em 12:38 Sáb, 4 de jun de PM, Rodrigo Coster
<rcoster@gmail.com> escreveu:
bom dia,
estou
precisando filtrar informação de arquivos de microdados do INEP, tem
arquivos csv e txt com até 6gb a título basicamente de estudos. Sou
leigo neste tema e gostaria de saber qual melhor forma de proceder. Me
recomendaram usar um banco de dados neste caso (SQLite, MySQL,
PostgreSQL ou Oracle), mas não sei por onde começar. Alguém tem material que julgue importante e que possa compartilhar comigo?
André Oliveira Souza.
Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
_______________________________________________
R-br mailing list
_______________________________________________
R-br mailing list
_______________________________________________
R-br mailing list