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
##-----------------------------------------------------------------------------
## Sites de domínio aberto que disponibilizam dados.
## Dados do ipeadata.
browseURL("http://www.ipeadata.gov.br/")
## Dados da maratona de São Silvestre.
browseURL("http://www.saosilvestre.com.br/resultados")
## Maratona de Paris.
browseURL("http://www.20kmparis.com/la-course_eng/resultats_eng/resultats-2013_eng")
## Dados de maratonas no Ipitos.
browseURL("http://www.ipitos.com/de-resultats/")
## Federação Paranaense de ciclismo.
browseURL("http://www.fpciclismo.com.br/")
## Repositório de dados eleitorais.
browseURL("http://www.tse.jus.br/eleicoes/estatisticas/repositorio-de-dados-eleitorais")
## Scientific Journal Rankings.
browseURL("http://www.scimagojr.com/journalrank.php")
browseURL("http://www.citefactor.org/journal-impact-factor-list-2014.html")
## Dados climáticos Embrapa CPAO - Dourados - MS.
browseURL("http://www.cpao.embrapa.br/clima/?lc=site/banco-dados/base_dados")
## Dados climáticos de bases metereológicas de aeroportos.
browseURL("http://www.wunderground.com/history/airport/SBCT/2014/09/09/DailyHistory.html")
browseURL("http://www.wunderground.com/cgi-bin/findweather/getForecast?query=dourados")
url <- "http://www.whoscored.com/Regions/31/Tournaments/95/Seasons/
4185/Stages/8677/TeamStatistics/Brazil-Brasileiro-2014"
browseURL(strwrap(url, w=500))
##-----------------------------------------------------------------------------
## Sobre o diretório de trabalho.
## Mostra o diretório de trabalho.
getwd()
## [1] "/home/walmes/Dropbox/Ensino/ce083-2014-02/aulas"
## ALtera o diretório de trabalho. Usar barras para frente ou duplas
## barras para trás.
## setwd(/home/walmes/um/novo/diretorio/onde/tenho/arquivos/para/ler)
## Lista os arquivos existentes no diretório de trabalho.
list.files()
## [1] "aula09.R" "brasileirao.txt" "ce083-2014-02-aula01.html"
## [4] "ce083-2014-02-aula01.R" "ce083-2014-02-aula01.Rmd" "ce083-2014-02-aula02.html"
## [7] "ce083-2014-02-aula02.R" "ce083-2014-02-aula02.Rmd" "ce083-2014-02-aula03.html"
## [10] "ce083-2014-02-aula03.md" "ce083-2014-02-aula03.R" "ce083-2014-02-aula03.Rmd"
## [13] "ce083-2014-02-aula04.html" "ce083-2014-02-aula04.R" "ce083-2014-02-aula04.Rmd"
## [16] "ce083-2014-02-aula05.html" "ce083-2014-02-aula05.md" "ce083-2014-02-aula05.R"
## [19] "ce083-2014-02-aula05.Rmd" "ce083-2014-02-aula06.html" "ce083-2014-02-aula06.md"
## [22] "ce083-2014-02-aula06.R" "ce083-2014-02-aula06.Rmd" "ce083-2014-02-aula07.html"
## [25] "ce083-2014-02-aula07.md" "ce083-2014-02-aula07.R" "ce083-2014-02-aula07.Rmd"
## [28] "ce083-2014-02-aula08.html" "ce083-2014-02-aula08.md" "ce083-2014-02-aula08.R"
## [31] "ce083-2014-02-aula08.Rmd" "ce083-2014-02-aula09.html" "ce083-2014-02-aula09.md"
## [34] "ce083-2014-02-aula09.R" "ce083-2014-02-aula09.Rmd" "ce083-2014-02-aula10.html"
## [37] "ce083-2014-02-aula10.md" "ce083-2014-02-aula10.Rmd" "dados1.txt"
## [40] "dados2.txt" "dados3.txt" "fig"
## [43] "ipea_demografico2.csv" "ipea_demografico.csv" "ipea_habitacao.csv"
list.files(pattern="*.txt")
## [1] "brasileirao.txt" "dados1.txt" "dados2.txt" "dados3.txt"
##-----------------------------------------------------------------------------
## Funções disponíveis para leitura de arquivos.
apropos("^read")
## [1] "readBin" "readChar" "read_chunk" "readCitationFile"
## [5] "read.csv" "read.csv2" "read.dcf" "read.delim"
## [9] "read.delim2" "read_demo" "read.DIF" "read.fortran"
## [13] "read.ftable" "read.fwf" "readline" "readLines"
## [17] "readRDS" "readRenviron" "read_rforge" "read.socket"
## [21] "read.table"
## help(read.table, help_type="html")
##-----------------------------------------------------------------------------
## Leitura de dados com separador de campo sendo o ;.
system("cat dados1.txt") ## Funciona no Linux.
## Strings convertidas para fator.
tab <- read.table("dados1.txt", header=TRUE, sep=";")
str(tab)
## 'data.frame': 3 obs. of 2 variables:
## $ aluno: Factor w/ 3 levels "andre","jonas",..: 3 2 1
## $ nota : num 10 9.7 8
## Strings não convertidas para fator.
tab <- read.table("dados1.txt", header=TRUE, sep=";", stringsAsFactors=FALSE)
str(tab)
## 'data.frame': 3 obs. of 2 variables:
## $ aluno: chr "marcos" "jonas" "andre"
## $ nota : num 10 9.7 8
##-----------------------------------------------------------------------------
## Separador de campo é a tabulação (\t).
system("cat dados2.txt") ## Funciona no Linux.
## Separador de campo é tabulação.
tab <- read.table("dados2.txt", header=TRUE, sep="\t")
str(tab)
## 'data.frame': 3 obs. of 2 variables:
## $ aluno: Factor w/ 3 levels "andre paz","jonas freire",..: 3 2 1
## $ nota : num 10 9.7 8
##-----------------------------------------------------------------------------
## Dados em arquivo de comprimento fixo de campo (fixed width format).
system("cat dados3.txt") ## Funciona no Linux.
tab <- read.fwf("dados3.txt", widths=c(15,4), header=TRUE, sep=";")
str(tab)
## 'data.frame': 3 obs. of 2 variables:
## $ aluno: Factor w/ 3 levels "andre paz ",..: 3 2 1
## $ nota : num 10 9.7 8
tab <- read.fwf("dados3.txt", skip=1, widths=c(15,4))
str(tab)
## 'data.frame': 3 obs. of 2 variables:
## $ V1: Factor w/ 3 levels "andre paz ",..: 3 2 1
## $ V2: num 10 9.7 8
## help(read.fwf, help_type="html")
##-----------------------------------------------------------------------------
## Lendo dados do whoscored.com sobre os times do campeonato brasileiro.
list.files(pattern="*.txt")
## [1] "brasileirao.txt" "dados1.txt" "dados2.txt" "dados3.txt"
system("cat brasileirao.txt") ## Funciona no Linux.
bra <- read.table("brasileirao.txt", header=TRUE, sep="\t",
stringsAsFactors=FALSE)
str(bra)
## 'data.frame': 20 obs. of 8 variables:
## $ R : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Team : chr "Cruzeiro" "Sao Paulo" "Atletico MG" "Corinthians" ...
## $ SpG : num 13.7 11.5 13 13.1 12.9 11.3 12.9 12.4 13 11.8 ...
## $ Discipline : int 412 471 540 352 303 380 481 461 482 314 ...
## $ Possession. : num 56.3 54.6 58.3 51 54.7 47.2 53.2 49.3 49.9 47.9 ...
## $ Pass.Success.: num 80.6 81.2 81.5 78 80.1 76.4 79.5 77 73.4 77.7 ...
## $ AW : num 14.5 14.4 13.7 12.1 13.3 14 15.3 15.8 17 14.1 ...
## $ Rating : num 6.93 6.86 6.84 6.84 6.82 6.81 6.81 6.79 6.77 6.77 ...
bra
## R Team SpG Discipline Possession. Pass.Success. AW Rating
## 1 1 Cruzeiro 13.7 412 56.3 80.6 14.5 6.93
## 2 2 Sao Paulo 11.5 471 54.6 81.2 14.4 6.86
## 3 3 Atletico MG 13.0 540 58.3 81.5 13.7 6.84
## 4 4 Corinthians 13.1 352 51.0 78.0 12.1 6.84
## 5 5 Fluminense 12.9 303 54.7 80.1 13.3 6.82
## 6 6 Chapecoense AF 11.3 380 47.2 76.4 14.0 6.81
## 7 7 Internacional 12.9 481 53.2 79.5 15.3 6.81
## 8 8 Gremio 12.4 461 49.3 77.0 15.8 6.79
## 9 9 Coritiba 13.0 482 49.9 73.4 17.0 6.77
## 10 10 Santos FC 11.8 314 47.9 77.7 14.1 6.77
## 11 11 Atletico PR 11.2 411 45.4 73.1 13.2 6.76
## 12 12 Sport 13.1 342 49.8 77.4 19.7 6.74
## 13 13 Botafogo RJ 12.2 472 45.4 77.0 12.8 6.73
## 14 14 Figueirense 9.7 444 43.4 73.8 15.4 6.72
## 15 15 Flamengo 10.2 363 53.3 79.5 13.8 6.72
## 16 16 Goias 9.8 360 45.1 75.3 14.9 6.71
## 17 17 Palmeiras 11.3 482 50.7 76.7 15.6 6.66
## 18 18 Bahia 10.9 573 48.2 76.8 13.4 6.65
## 19 19 Vitoria 9.9 391 50.7 74.9 17.5 6.65
## 20 20 Criciuma 11.4 513 45.4 75.0 13.1 6.53
##-----------------------------------------------------------------------------
## Alguns gráficos.
plot(Rating~Possession., data=bra)
plot(SpG~Possession., data=bra)
pairs(bra[,c(3,5:8)])
##-----------------------------------------------------------------------------
## Dados sobre a porcentagem de analfabetismo considerando pessoas de 15
## anos ou mais.
system("head -10 /home/walmes/Downloads/alfab.csv") ## Funciona no Linux.
alf <- read.table("/home/walmes/Downloads/alfab.csv",
skip=1, header=TRUE, sep=";", dec=",", quote="")
str(alf)
names(alf)
## Formas de encurtar/editar os nomes.
abbreviate(names(alf)) ## Abreviação.
substr(names(alf), 1, 4) ## Corta.
iconv(names(alf), to="ASCII//TRANSLIT") ## Remove os acentos.
tolower(names(alf)) ## Passa para caixa baixa.
## Abreviando de forma pessoal.
names(alf) <- c("sig","cod","mun","a70","a80","a90","x")
str(alf)
## Removendo coluna desnecessária.
alf <- alf[,-7]
## Passando município de fator para character.
alf$mun <- as.character(alf$mun)
## Estrutura do objeto depois das modificações.
str(alf)
##-----------------------------------------------------------------------------
## Análise gráfica exploratória.
plot(a90~a80, data=alf)
plot(a90~a80, data=alf, asp=1)
abline(a=0, b=1, lty=1, col=2)
abline(v=seq(0,100,20), h=seq(0,100,20), col="gray50", lty=2)