#### Tutorial - Leitura e Manipulação de dados - Monitoria 2010

########## ############### #############

getwd()
setwd("C:/Users/Barbara/Documents/Mestrado/Monitoria/manipulacao")

#########   Leitura de Dados	##########

caixeta = read.table("caixeta.csv", header=T, sep=",", as.is=T)
class(caixeta)
dim(caixeta)
names(caixeta)
str(caixeta)
head(caixeta)

spp=factor(caixeta$especie)
spp

unique(spp)		#### comando lista os "níveis" de fatores
unique(caixeta$especie)


#########   Tabelas e Matrizes	##########

str(caixeta)
caixeta.local = table(caixeta$especie, caixeta$local)
str(caixeta.local)
class(caixeta.local)
dimnames(caixeta.local)
caixeta.local[,"chauas"]

caixeta.mat=matrix(caixeta.local,ncol=3)		### transformou a tabela em matriz
colnames(caixeta.mat)<-colnames(caixeta.local)
rownames(caixeta.mat)<-rownames(caixeta.local)
caixeta.mat
str(caixeta.mat)

table(caixeta.local==caixeta.mat)	### teste lógico: resultado diz que são iguais


#########   Totais Marginais	##########

caixeta.vf=caixeta.mat>0
caixeta.vf
riqueza=apply(caixeta.vf,2,sum)
riqueza

#########   Indexação e Manipulação	##########

chauas = caixeta.mat[,"chauas"]
which(chauas>0)
chauas.bin <- chauas
chauas.bin[which(chauas>0)]<-1
chauas.bin

str(caixeta)
nome.spp <- unique(caixeta$especie)
nome.local <- unique(caixeta$local)
caixeta[caixeta$especie==nome.spp[1],]
caixeta[caixeta$local==nome.local[2],]
caixeta[caixeta$especie==nome.spp[1] & caixeta$local==nome.local[2],]

caixeta[caixeta$especie==nome.spp[1] & caixeta$local==nome.local[1],]


#########   Operações Matriciais	##########

mat.trans <- matrix(c(0.43,0.33,0,0,0.61,0.3,0.56,0,0.96),3,3)
mat.trans
pop.inicio <- c(50,25,10)
names(pop.inicio)<-c("plântula", "jovem", "adulto")
pop.inicio
pop.1 <- mat.trans%*%pop.inicio	###%*% operador de matriz
pop.1
pop.2 <- mat.trans%*%pop.1
pop.2
pop.3 <- mat.trans%*%pop.2
pop.3

