#==========================================================================================
# Aula 4 da disciplina ce223 (15/03/2011)
# Estatísticas descritivas e gráficos
#                                                               Professor Walmes M. Zeviani
#                                                                     www.leg.ufpr.br/ce223
#==========================================================================================

#------------------------------------------------------------------------------------------
# importa dados do arquivo externo

km <- read.table("http://www.leg.ufpr.br/~walmes/ensino/ce223-2011-01/ipeadata%5b11-03-2011-09-24%5d.csv",
                 header=TRUE, dec=",", sep=";")
names(km) <- c("sig","cod","mun","km","naosei")
str(km)

#------------------------------------------------------------------------------------------
# estatíticas descritivas: média, mediana, variância, desvio médio...

plot(km$km)

#------------------------------------------------------------------------------------------
# criando um novo vetor sem NA's

x <- km$km[!is.na(km$km)]
x

#------------------------------------------------------------------------------------------
# média

sum(x)/length(x)
mean(x)

#------------------------------------------------------------------------------------------
# variância

sum((x-mean(x))^2)/(length(x)-1)
var(x)

#------------------------------------------------------------------------------------------
# mediana

length(x)
xo <- sort(x)
xo[1:20]
plot(xo)
p1 <- length(x)/2
p2 <- (length(x)+2)/2

mean(xo[c(p1, p2)])
median(x)

#------------------------------------------------------------------------------------------
# desvio absoluto com relação à mediana

sum(abs(x-median(x)))/(length(x)-1)

RSiteSearch("median absolute deviation")

help(mad, help_type="html")
mad(x)
mad(x, constant=1)

#------------------------------------------------------------------------------------------
# amplitude total

#------------------------------------------------------------------------------------------
# separatrizes

#------------------------------------------------------------------------------------------
# histograma

hist(x)
help(hist, help_type="html")

hist(x, nclass=7)

hist(x, breaks=seq(0, 1500, by=50))

#------------------------------------------------------------------------------------------
# todos os valores necessários para construção do gráfico

ht <- hist(x)
str(ht)

#------------------------------------------------------------------------------------------
# vamos escrever dentro do gráfico?

plot(ht, ylim=c(0, 800), xlab="x", ylab="Frequência absoluta",
     main="Distribuição de frequência", col=1:2)
text(ht$mids, ht$counts, label=ht$counts, srt=0, pos=3, cex=0.8)
box()

#------------------------------------------------------------------------------------------
# gráfico de densidade (estimação não paramétrica)

plot(density(x, bw=51))
rug(x)

help(density, help_type="html")

#------------------------------------------------------------------------------------------
# histograma + density

hist(x, freq=FALSE)
lines(density(x), col="red", lwd=2)

#------------------------------------------------------------------------------------------
# calculando valores das estatísticas separando por estado

tapply(km$km, km$sig, mean, na.rm=TRUE)
with(km, tapply(km, sig, mean, na.rm=TRUE))

#------------------------------------------------------------------------------------------
