Universidade Federal do Paraná
Curso de Estatística
CE 083 -
Estatística Computacional I - 2014/2
Prof. Dr. Walmes Marques Zeviani
Tabela de conteúdo
Instruções para download dos dados.
social
no superior da página (cor vermelha), seguir por temas >
demografia
e clicar.Municípios
,
selecionar o nível de abrangência Brasil
e selecionar a data
2000
.*.csv
separado por vírgula clicando no último ícone do canto superior
direito. Ao salvar o arquivo dar o nome ipea_demografico.csv
##-----------------------------------------------------------------------------
## Leitura e edição dos dados.
setwd("/home/walmes/Dropbox/Ensino/ce083-2014-02/sabatina")
list.files(pattern="*.csv")
## [1] "ipea_demografico.csv"
da <- read.table("ipea_demografico.csv", header=TRUE,
sep=",", dec=".", stringsAsFactors=FALSE,
quote="")
str(da, vec.len=1)
## 'data.frame': 5596 obs. of 10 variables:
## $ Sigla : chr "AC" ...
## $ Código : int 1200013 1200054 ...
## $ Município : chr "Acrelândia" ...
## $ Mortalidade.até.cinco.anos.de.idade..por.mil.nascidos.vivos...2000.: num 31.5 ...
## $ Taxa.de.fecundidade..2000. : num 4.36 ...
## $ Professores.do.fundamental.residentescom.curso.superior..2000. : num 3.8 ...
## $ População..2000. : int 7935 3490 ...
## $ Esperança.de.vida.ao.nascer..2000. : num 67.4 ...
## $ Mortalidade.infantil..por.mil.nascidos.vivos...2000. : num 28.3 ...
## $ X : logi NA ...
da <- da[,-ncol(da)]
names(da) <- c("sig", "cod", "mun",
"mort5", "txfec", "prof", "pop", "evn", "minf")
da <- transform(da, sig=factor(sig))
str(da, vec.len=1)
## 'data.frame': 5596 obs. of 9 variables:
## $ sig : Factor w/ 27 levels "AC","AL","AM",..: 1 1 ...
## $ cod : int 1200013 1200054 ...
## $ mun : chr "Acrelândia" ...
## $ mort5: num 31.5 ...
## $ txfec: num 4.36 ...
## $ prof : num 3.8 ...
## $ pop : int 7935 3490 ...
## $ evn : num 67.4 ...
## $ minf : num 28.3 ...
Qual o Estado com o maior número de municípios? Qual o número de municípios do Estado de Mato Grosso do Sul? Quantos Estados têm menos de 200 municípios?
## Tabela de frequência (número de resgistro por sigla pois cada
## registro é de um município).
n <- xtabs(~sig, data=da)
sort(n)
## sig
## DF RR AP AC RO AM SE MS ES RJ AL TO MT PA RN CE PE MA PB PI GO SC
## 1 15 16 22 52 62 75 79 80 94 102 139 142 146 167 188 188 217 223 224 246 296
## PR BA RS SP MG
## 403 421 499 646 853
a <- names(n)[which.max(n)]
b <- n["MS"]
c <- sum(n<200)
## Resultado formatado.
sprintf("%s, %d, %d.", a, b, c)
## [1] "MG, 79, 17."
Quantos municípios tem população superior à 50 mil habitantes? Quantos do municípios com mais de 50 mil habitantes têm uma taxa de fecundidade maior que 3? Quantos municípios no Paraná tem taxa de fecundidade maior que 3?
a <- sum(da$pop>50000, na.rm=TRUE)
b <- with(da, sum(pop>50000 & txfec>3, na.rm=TRUE))
c <- with(da, sum(sig=="PR" & txfec>3, na.rm=TRUE))
sprintf("%d, %d, %d.", a, b, c)
## [1] "525, 76, 56."
Qual o total de municípios da região sul (PR, SC e RS)? Qual a mortalidade infantil média da região sul? Qual destes Estados tem a maior média para a mortalidade infantil?
## Sub tabela só com os Estados do sul (torna a coisa mais fácil).
sul <- droplevels(subset(da, sig%in%c("PR","SC","RS")))
a <- nrow(sul)
b <- mean(sul$minf, na.rm=TRUE)
x <- with(sul, tapply(minf, sig, mean, na.rm=TRUE))
sort(x)
## RS SC PR
## 16.30 17.55 21.19
c <- names(x)[which.max(x)]
sprintf("%d, %0.3f, %s.", a, b, c)
## [1] "1198, 18.300, PR."
Qual o município do Brasil com maior expectativa de vida ao nascer? Qual a maior expectativa de vida ao nascer dentro do Estado do Paraná? Quantos municípios do Brasil tem expectativa de vida ao nascer superior ao do município com maior expectativa de vida do Paraná?
## Sub tabela só com os registros do PR.
pr <- droplevels(subset(da, sig=="PR"))
## Os 5 primeiros.
da$mun[order(da$evn, decreasing=TRUE)][1:5]
## [1] "São Caetano do Sul" "Antônio Carlos" "Planalto Alegre"
## [4] "Massaranduba" "São José do Inhacorá"
## head(plyr::arrange(da, -evn))
a <- with(da, mun[which.max(evn)])
b <- with(pr, max(evn, na.rm=TRUE))
c <- sum(da$evn>b, na.rm=TRUE)
sprintf("%s, %0.3f, %d.", a, b, c)
## [1] "São Caetano do Sul, 77.665, 9."
Classifique os municípios em termos da esperança de vida ao nascer
(evn) em baixa, média e alta considerandos os limites de
classificação, abertos à esquerda, 54 - 65 - 75 - 80. Dica: use a
função cut()
. Qual o número de municípios na classe de alta de evn?
Qual a proporção de municípios do Paraná na classe média de evn
(desconsidere os dados incompletos)? Qual a média de mortalidade
infantil para os municípios da classe alta de env do Paraná?
## Classificar os valores.
## da$class <- with(da, cut(evn, c(54,65,75,80)))
da$class <- with(da, cut(evn, c(54,65,75,80), c("B","M","A")))
x <- table(da$class); x
##
## B M A
## 1533 3709 265
a <- x["A"]
pr <- droplevels(subset(da, sig=="PR" & !is.na(class)))
x <- with(pr, table(class)/nrow(pr))
b <- x["M"]
c <- mean(pr$minf)
sprintf("%d, %0.3f, %0.3f.", a, b, c)
## [1] "265, 0.905, 21.188."
O coeficiente de variação é definido como 100 vezes o desvio-padrão da amostra dividido pela média da amostra, \(\text{CV} = 100\cdot \sqrt{S^2}/\bar{X}\). Calcule o coeficiente de variação para cada variável. Dica: crie uma função que calcula o CV. Qual das variáveis presentes na tabela, exceto população, tem o maior coeficiente de variação? Qual o coeficiente de variação da esperança de vida ao nascer para o Paraná? Quantos Estados tem coeficiente de variação superior ao do Paraná para esperança de vida ao nascer?
## Função para cálculo do CV.
cv <- function(x, ...){
100*sd(x, ...)/mean(x, ...)
}
x <- apply(da[,c(4:6,8:9)], 2, cv, na.rm=TRUE); x
## mort5 txfec prof evn minf
## 66.464 25.987 91.858 7.175 54.193
a <- names(x)[which.max(x)]
b <- cv(pr$evn, na.rm=TRUE)
c <- sum(with(da, tapply(evn, sig, cv, na.rm=TRUE))>b, na.rm=TRUE)
sprintf("%s, %0.3f, %d.", a, b, c)
## [1] "prof, 4.311, 13."