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

da <- readLines("saosilvestre1998.txt")
str(da)

head(da, 30)

fica <- grep("(M|F)\\d{4}", da)
length(fica)

da <- da[fica]
head(da, 30)

writeLines(da, "saosilvestre1998b.txt")

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

help(read.fwf, help_type="html")

x <- c(13,44,53,59,66,127)-1
x <- c(x[1], diff(x))

da <- read.fwf("saosilvestre1998b.txt",
               widths=x, stringsAsFactors=FALSE)
str(da)

da <- subset(da, select=c(2,4,5))
str(da)

names(da) <- c("nome","cat","tempo")

da <- transform(da,
                nome=gsub("[[:space:]]*$","",nome),
                cat=gsub("[[:space:]]*$","",cat))
str(da)

da$sexo <- "F"
da$sexo[grep("M", da$cat)] <- "M"

x <- "M2536"
gsub("^.(\\d{2})(\\d{2})", "[\\1-\\2)", x)

da$fidade <- gsub("^.(\\d{2})(\\d{2})", "[\\1-\\2)", da$cat)

str(da)

da$tem <- with(da, round(as.numeric(as.POSIXct(tempo, format="%H:%M:%S")-
                                    as.POSIXct("00:00:00", format="%H:%M:%S")), 2))
str(da)

da <- subset(da, select=c(nome, sexo, fidade, tem))
str(da)

da <- da[order(da$tem, decreasing=FALSE),]
head(da)

write.table(da, "SaoFrancisco1998.txt", row.names=FALSE, quote=FALSE, sep=";")

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