Universidade Federal do Paraná
Curso de Estatística
CE 083 - Estatística Computacional I - 2014/2
Prof. Dr. Walmes Marques Zeviani


Aula 09

Tabela de conteúdo


Sites que disponibilizam dados

##-----------------------------------------------------------------------------
## 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))

Importação de arquivos de texto pleno

##-----------------------------------------------------------------------------
## 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 of chunk unnamed-chunk-4

plot(SpG~Possession., data=bra)

plot of chunk unnamed-chunk-4

pairs(bra[,c(3,5:8)])

plot of chunk unnamed-chunk-4

##-----------------------------------------------------------------------------
## 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)

Como é simples importar dados, né?