Arquivos texto com caracter separador
##-----------------------------------------------------------------------------
## Dados com separador de campo que é tabulação.
da <- read.table("brasilCopa2014.txt", header=TRUE, sep="\t")
str(da)
da <- read.table("brasilCopa2014.txt", header=TRUE, sep="\t",
stringsAsFactors=FALSE, na.string="-")
str(da)
##-----------------------------------------------------------------------------
## Dados com separador de campo que é ponto e vírgula.
da <- read.table("brasilCopa2014.csv", header=TRUE, sep=";",
stringsAsFactors=FALSE, na.string="-")
str(da)
Arquivos texto com comprimento fixo de campo
##-----------------------------------------------------------------------------
## Dados com comprimento fixo de campo.
l <- c(0,3,16,28,31,35,38,43,45,47,49,50,54,60,64,66,70)
db <- read.fwf("brasilCopa2014fwf.txt", header=TRUE, sep="\t",
widths=diff(l), stringsAsFactors=FALSE)
str(db)
Edição de tabelas
##-----------------------------------------------------------------------------
## Ler dados de um experimento em blocos com variedades de batatinha. Os
## dados estão no formato amplo.
bat <- read.table("pimentel_batatinha_wide.txt", header=TRUE, sep="\t")
str(bat)
bat
require(reshape)
## Loading required package: reshape
## Empilhando os valores, de amplo para longo.
batl <- melt(bat, id.vars="variedade", variable_name="bloco")
str(batl)
## De longo para amplo (caminho inverso).
cast(batl, variedade~bloco, value="value")
##-----------------------------------------------------------------------------
## Ordenar a tabela.
require(plyr)
## Loading required package: plyr
##
## Attaching package: 'plyr'
##
## The following objects are masked from 'package:reshape':
##
## rename, round_any
arrange(batl, variedade, bloco)
arrange(batl, value)
arrange(batl, variedade, value)
##-----------------------------------------------------------------------------
## Filtrar a tabela (tomar subconjuntos).
subset(batl, variedade=="Kennebec")
subset(batl, variedade%in%c("Kennebec","Buena Vista"))
subset(batl, is.element(variedade, c("Kennebec","Buena Vista")))
subset(batl, bloco=="I")
subset(batl, bloco%in%c("I","IV") & variedade=="Kennebec")
subset(batl, bloco%in%c("I","IV") | variedade=="Kennebec")
subset(batl, value>25)
subset(batl, value<12)
##-----------------------------------------------------------------------------
## Classificar valoes.
range(batl$value)
cls <- c(-Inf,15,25,Inf)
findInterval(batl$value, vec=cls)
cut(batl$value, breaks=cls)
cut(batl$value, breaks=cls, labels=c("baixa","media","alta"))
##-----------------------------------------------------------------------------
## Adicionar uma coluna à tabela de dados.
## Classe de produtividade.
batl$pcls <- cut(batl$value, breaks=cls,
labels=c("baixa","media","alta"))
str(batl)
batl <- transform(batl, lprod=log10(value), prods=value^2)
str(batl)
Escrever tabela
##-----------------------------------------------------------------------------
## Campos separados por ;.
write.table(batl, file="pimentel_batatinha_mod.txt", sep=";",
row.names=FALSE, col.names=TRUE, quote=FALSE)
print(sessionInfo(), locale=FALSE)
## R version 3.1.1 (2014-07-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets base
##
## other attached packages:
## [1] plyr_1.8.1 reshape_0.8.5 rmarkdown_0.2.68 knitr_1.6
##
## loaded via a namespace (and not attached):
## [1] digest_0.6.4 evaluate_0.5.5 formatR_1.0 htmltools_0.2.6 methods_3.1.1
## [6] Rcpp_0.11.0 stringr_0.6.2 tools_3.1.1
Sys.time()
## [1] "2014-10-07 19:24:00 BRT"