# Código R para tabulação microdados

# limpar memória do R
rm(list=ls(all=TRUE))

#Indicar Diretório de Trabalho
#setwd("/Users/flafeitosa/R-directory/")
setwd("~/R-directory/")

# Listar arquivos do diretório de trabalho
dir()

# layout do Cadastro Nacional de Endereços para Fins Estatísticos - IBGE (Layout_Download.xls)
#Variável	                 Posição Inicial            Tamanho              Categorias
#Código da UF	                  1	                   2
#Código do município	          3	                   5
#Código do distrito	              8	                   2
#Código do subdistrito	          10                   2
#Código do setor	              12	               4
#Situação do setor	              16	               1                   1=urbano
#			                                                                   2=rural
#Tipo do logradouro	             17	                   20
#Título do logradouro	         37	                   30
#Nome do logradouro	             67	                   60
#Número no logradouro	         127	               8
#Modificador do número	         135	               7
#Complemento			
#Elemento 1	                     142	                  20
#Valor 1	                     162	                  10
#Elemento 2	                     172	                  20
#Valor 2	                     192	                  1
#Elemento 3	                     202	                  20
#Valor 3						 222					10	
#Elemento 4						 232					20	
#Valor 4						 252					10	
#Elemento 5						 262					20	
#Valor 5						 282					10	
#Elemento 6     			   	292						20	
#Valor 6	312	10	
#Latitude	322	15	
#Longitude	337	15	
#Localidade	352	60	
#Nulo	412	60	Campo sem uso
#Espécie de endereço	472	2	
#			01=domicílio particular
#			02=domicílio coletivo
#			03=estabeleciemento agropecuário
#			04=estabelecimento de ensino
#			05=estabelecimento de saúde
#			06=estabeleciemento de outras finalidades
#			07=edificação em construção
#Identificação estabelecimento	474	40	
#Indicador de endereço	514	1	
#			1=único
#			2=múltiplo
#identificação domicílio coletivo	515	30	
#Número da quadra (*)	545	3	
#Número da face	548	3	
#CEP	551	8
#----------------------------------------------------------------

# utilizando a função read.fwf para ler o arquivo txt
# Colocar em "widths" os tamanhos das variáveis - informação disponível em "Layout_download.xls"

CNEFE2010 <- read.fwf(file='CNEFE_SJC.TXT', widths=c(2,5,2,2,4,1,20,30,60,8,7,20,10,20,10,20,10,20,10,20,10,20,10,15,15,60,60,2,40,1,0,3,3,8))

# dimensão da base de dados (tabela)
dim(CNEFE2010)

# nomes das variáveis
names(CNEFE2010)

# analisar primeiras 20 linhas
head(CNEFE2010)

# acrescentar nomes nas variáveis
names(CNEFE2010) <- c("UF", "MUNICIP", "DISTRITO","SUBDIST", "SETOR", "SITSETOR", "TIPOLOG", "TITLOG", "NOMELOG", "NR_LOG", "MODNR", "ELEM1", "VALOR1", "ELEM2", "VALOR2", "ELEM3", "VALOR3", "ELEM4", "VALOR4", "ELEM5", "VALOR5", "ELEM6", "VALOR6", "LATITUDE", "LONGITUD","LOCALIDA","NULO", "ESP_ENDE", "ID_ESTABE", "ID_ENDER", "ID_DOMIC", "NRQUADRA", "NRFACE", "CEP")

# selecionar apenas algumas variáveis da base de dados
CNEFE2010b <- subset(CNEFE2010, select=c("UF", "MUNICIP", "DISTRITO","SUBDIST", "SETOR", "SITSETOR", "TIPOLOG", "TITLOG", "NOMELOG", "NR_LOG", "MODNR", "LATITUDE", "LONGITUD","LOCALIDA","ESP_ENDE", "CEP"))

# analisar primeiras 20 linhas
head(CNEFE2010b,20)

# estrutura das variáveis
str(CNEFE2010b)

# histograma dos tipos de endereços
hist(CNEFE2010b$ESP_ENDE)

# selecionar apenas estabelecimentos de ensino
CNEFE2010c <- subset(CNEFE2010b, ESP_ENDE== 4)

# dimensão da tabela
dim(CNEFE2010c)

# estatísticas descritivas básicas
summary(CNEFE2010c)

# listar os itens da memória do R
ls()

# limpar a memória do R
rm(CNEFE2010b)

# Exportando a Tabela com os Estabelecimentos de Ensino de SJC
write.table(CNEFE2010c,"CNEFE_Ensino_SJC.txt", col.names=NA)
write.csv(CNEFE2010c,"CNEFE_Ensino_SJC.csv", col.names=NA)
