#### Tutorial - Análise Exploratória - Monitoria 2010

########## ############### #############

getwd()
setwd("C:/Users/Barbara/Documents/Mestrado/Monitoria/analise exploratoria")

#########   Conferindo Data Frames	##########

aves.c <- read.table("aves_cerrado.csv", row.names=1, header=T, sep=";", dec=",", as.is=T)
aves.c <- read.csv2("aves_cerrado.csv", row.names=1, as.is=T)

aves.c

head(aves.c)
tail(aves.c)
str(aves.c)
summary(aves.c)

aves.c[aves.c$urubu==NA,]	#### oq faz este comando?

is.na(aves.c)
is.na(aves.c$urubu)

aves.c[is.na(aves.c$urubu)==T,]	#### indexação do data frame
aves.c[is.na(aves.c$urubu)==T|is.na(aves.c$carcara)==T|is.na(aves.c$seriema)==T,]

temp1 <- aves.c[is.na(aves.c$urubu)==T|is.na(aves.c$carcara)==T|is.na(aves.c$seriema)==T,]
temp1

aves.c$urubu[is.na(aves.c$urubu)==T] <- 0		#### 3 formas de substituir NA
aves.c[is.na(aves.c$urubu)==T,2] <- 0
aves.c[is.na(aves.c[,2])==T, 2] <- 0

aves.c$carcara[is.na(aves.c$carcara)==T] <- 0
aves.c$seriema[is.na(aves.c$seriema)==T] <- 0

aves.c[aves.c$urubu==0|aves.c$carcara==0|aves.c$seriema==0,]
temp1

table(aves.c$fisionomia)

aves.c$fisionomia[aves.c$fisionomia=="ce"] <- "Ce"
table(aves.c$fisionomia)

aves.c$fisionomia <- factor(aves.c$fisionomia, levels=c("CL","CC","Ce"))

str(aves.c)
summary(aves.c)

#########   Média, Mediana e Quantis	#########  

mean(aves.c[,2:4])
median(mean(aves.c[,2:4])) 

apply(aves.c[,2:4],2,median)		### 2 (arg margin) indica que a aplicação é nas colunas, 1 para linhas
?apply					### apply(X, MARGIN, FUN, ...)

mean(aves.c[,2:4], trim=0.1)		### trim: porcentagem de valores retirados nas extremidades
?mean

quantile(aves.c$urubu) ## O mesmo que o retornado pelo summary
summary(aves.c$urubu)

quantile(aves.c$urubu, probs= seq(from=0,to=1,by=0.1))

summary(aves.c[,2:4])

#########   Exploração de uma Variável Categórica	#########  

caixeta <- read.csv("caixeta.csv", as.is=T)
names(caixeta)		#### nomes das colunas
head (caixeta)
table(caixeta$especie)	#### contagem de ocorrências de cd espécie

sort(table(caixeta$especie), decreasing=T)	#### mesmo de table, porém colocando em ordem decrescente de ocorrência

barplot(sort(table(caixeta$especie), decreasing=T))
barplot(table(caixeta$local))

#########   Gráficos para uma Variável	#########   

par(mfrow=c(2,2))
boxplot(aves.c$urubu)
hist(aves.c$urubu)
plot(density(aves.c$urubu))
stripchart(aves.c$urubu, method="stack")
par(mfrow=c(1,1))

#########   Variações do Histograma	#########   

## Histograma com os valores (funcao rug)
hist(aves.c$urubu)
rug(jitter(aves.c$urubu))
rug(aves.c$urubu)
?jitter		#### acrescenta ruído a um vetor

hist(aves.c$urubu, prob=T)
lines( density(aves.c$urubu),col="blue" )

hist(aves.c$urubu, prob=T, ylim=c(0,0.08))
curve(expr = dnorm(x,mean=mean(aves.c$urubu),sd=sd(aves.c$urubu)),add=T, col="red")

plot(density(aves.c$urubu),col="blue", ylim=c(0,0.08))
curve(expr = dnorm(x,mean=mean(aves.c$urubu),sd=sd(aves.c$urubu)),add=T, col="red")

#########   table e aggregate		######### 

table(caixeta$especie,caixeta$local)
  
caixeta.alt <- aggregate(caixeta$h, by=list(local=caixeta$local,especie=caixeta$especie),
                         FUN=max)
caixeta.alt
head (caixeta)

?aggregate

caixeta.alt.media <- aggregate(caixeta$h, by=list(local=caixeta$local,especie=caixeta$especie),
                         FUN=mean)
caixeta.alt.media

#########   xtabs		######### 

Titanic.df <- read.csv("titanic.csv", as.is=T)

head (Titanic.df)
  
xtabs(Freq~Sex+Survived, data=Titanic.df)
prop.table(xtabs(Freq~Sex+Survived, data=Titanic.df), margin=1)
xtabs(Freq~Class+Survived, data=Titanic.df)
prop.table(xtabs(Freq~Class+Survived, data=Titanic.df), margin=1)

?prop.table		#### margin: soma por linha

table(Titanic.df$Sex,Titanic.df$Survived)		#### table para varáveis categóricas

#########   Fórmula Estatística em Gráficos	#########   

boxplot(urubu~fisionomia, data=aves.c)
plot(seriema~urubu, data=aves.c, subset=fisionomia=="Ce")
plot(seriema~urubu, data=aves.c, subset=fisionomia=="CC")
plot(seriema~urubu, data=aves.c, subset=fisionomia!="CL")

library(lattice)
xyplot(seriema~urubu|fisionomia, data= aves.c)		#### LINDO!

