\newpage
\thispagestyle{empty}
\vspace*{2.3cm}
\addcontentsline{toc}{section}{APÊNDICES}


\vspace*{7cm}
\begin{center}
{\Large \bf APÊNDICES}
\end{center}

\clearpage
\subsection*{APÊNDICE A - Códigos em R para a obtenção da análise dos dados}

\renewcommand{\baselinestretch}{1.0}


Após inicializar o R, carregue o pacote Rcitrus e o pacote stLattice com o 
comando {\it library} (ou {\it require}).

\begin{verbatim}
>require(Rcitrus)

>require(stLattice)

\end{verbatim}

Na função {\it autologistic.citrus} do pacote Rcitrus está implementado o 
modelo autologístico, com os seguintes argumentos:

\begin{verbatim}
> args(autologistic.citrus)

function (formula = Y ~ R + C + dA + dB, bor = 1, obj, size = NULL,
          obj2 = NULL, covariate = NULL, death = 1, healt = 0, 
          inf.method = c("pseudo",
          "mc", "bootstrap"), N, fit.method = c("glm", "brlr"),
          binary.covar = FALSE, verbose = FALSE)


################################################################
################################################################
### DADOS DE MORTE SUBITA DOS CITROS ###########################
\end{verbatim}

A função {\it autologistic.citrus} será usada para o ajuste dos dados de MSC. 
Define-se a entrada dos dados em um {\it data.frame} 
ou matriz, o passo seguinte é o ajuste do modelo autologístico.
\begin{verbatim}

>data(vv202)
\end{verbatim}

Observe que para o ajuste dos modelos foram implementados diversos argumentos 
na função. O primeiro deles é {\it formula}, aqui define-se a estrutura de vizinhança, 
observe o modelo m1, $Y$ é a resposta, que está em função das covariáveis de vizinhança 
dentro da linha de plantas (R2) e entre linhas (C2) no tempo anterior a avaliação. 
O modelo m2 acrescenta as diagonais (dA2 e dB2) ao modelo anterior. Os modelos m3 e m4 
ajustam as covariáveis no tempo contemporâneo a avaliação.

O próximo argumento dos modelos é o conjunto de dados, {\it obj}. 
O {\it obj2} é utilizado para 
construção das covariáveis, quando estão defasadas. A estimação dos parâmetros 
por reamostragem é feita através do argumento {\it inf.method=bootstrap} e {\it N=199} 
para o número de simulações da reamostragem.

\begin{verbatim}
###modelos

>fit <- list()

fit$m1 <- lapply(avals, function(i)
                 autologistic.citrus(Y~R2+C2, obj=vvi[,,i], obj2=vvi[,,i-1],
                                     inf.method="bootstrap", N=199))

>fit$m2 <- lapply(avals, function(i)
                  autologistic.citrus(Y~R2+C2+dA2+dB2, obj=vvi[,,i], obj2=vvi[,,i-1],
                                      inf.method="bootstrap", N=199))

>fit$m3 <- lapply(avals, function(i)
                  autologistic.citrus(Y~R+C, obj=vvi[,,i],
                                      inf.method="bootstrap", N=199))

>fit$m4 <- lapply(avals, function(i)
                  autologistic.citrus(Y~R+C+dA+dB, obj=vvi[,,i],
                                      inf.method="bootstrap", N=199))
\end{verbatim}

Para observar o sumário de algumas avaliações de alguns modelos usam-se os 
seguintes comandos:

\begin{verbatim}
>summary(fit$m1$av2)
>summary(fit$m3$av3)
>summary(fit$m2$av4)


####################################
###modelos usando o pacote stLattice
\end{verbatim}

Quando faz-se uso do pacote stLattice para ajuste dos dados de MSC, 
a função {\it aglm} tem os seguintes argumentos implementados:

\begin{verbatim}
> args(aglm)

function (formula, data, sp = ~first, family = binomial, brlr = TRUE,
    bootstrap = TRUE, nboot = 99, mctest = FALSE, nmc = 99, bor = 1,
    lag = -1, times = 30, only.naive = FALSE)
\end{verbatim}

Os dados,

\begin{verbatim}
>data(vv202,package="Rcitrus")
\end{verbatim}

O formato de vv202 é um {\it array} com três dimensões. A primeira dimensão indica o 
número de linhas de plantas, a segunda indica o número de plantas na linha 
e a terceira indica o número de avaliações.

Para criar as coordenadas na classe stLattice,

\begin{verbatim}
> cvv <- new("rlcoords", x = 1:nrow(vv202), y = 1:ncol(vv202))
\end{verbatim}

O novo conjunto de dados da classe stLattice,

\begin{verbatim}
> dvv <- new("strldata", value = array(ifelse(vv202, 1, 0),
             c(dim(vv202), 1), dimnames = list(NULL, NULL, NULL, 
             "resp")))

> vv202str <- new("mstrl", coords=cvv,dates=as.ISOdate(as.numeric
                 (dimnames( vv202)[[3]]), "numeric"), data=dvv)

\end{verbatim}

Pronto o conjunto de dados, ajustam-se os quatro modelos aos dados utilizando-se 
os seguintes argumentos: {\it formula} que é a parte do modelo de regressão logística usual, como não 
há covariáveis usuais usa-se 1, {\it data} para o conjunto de dados, {\it sp} 
para a parte espacial 
do modelo e {\it lag} para o tempo em que as covariáveis foram medidas, {\it lag}=1 indica 
covariável no tempo anterior, {\it lag}=0 indica covariável no tempo contemporâneo. 

\begin{verbatim}
>m <- list()

>m$avv1 <- aglm(formula=resp~1, data=vv202str, sp=~R+C, lag=-1)
>summary(m$avv1)

>m$avv2 <- aglm(formula=resp~1, data=vv202str, sp=~R+C+dA+dB, lag=-1)
>summary(m$avv2)

>m$avv3 <- aglm(formula=resp~1, data=vv202str, sp=~R+C, lag=0)
>summary(m$avv3)

>m$avv4 <- aglm(formula=resp~1, data=vv202str, sp=~R+C+dA+dB, lag=0)
>summary(m$avv4)


################################################################
################################################################
###DADOS DE LEPROSE DOS CITROS##################################
\end{verbatim}

Aos dados de leprose dos citros são ajustados modelos autologísticos 
espaço-temporais utilizando o pacote stLattice.


Lendo o arquivo de dados,

\begin{verbatim}
>popVal <- read.table('ValenciaR.txt', header=TRUE)
\end{verbatim}

Converter os dados para o formato da classe stLattice,

\begin{verbatim}
>id.av <- which(as.numeric(substring(as.character(popVal$mapa), 5))>22)

>print(names(popVal)[c(7,9,13,15,17)], quote=F)

>ilep <- df2mstrl(popVal[id.av, c(4,5,2,19,10,11)])

>dim(ilep@data@value)

>str(ilep)
\end{verbatim}

Agora serão ajustados os nove modelos aos dados. 

\begin{verbatim}
>dimnames(ilep@data@value)[[4]]

>dftime <-  as.numeric(mean(diff(ilep@dates)))

>m <- list()

\end{verbatim}

Para ajuste dos modelos são usados os argumentos: {\it formula} para o modelo linear usual, 
{\it data} para o conjunto dos dados, {\it sp } para as covariáveis 
espaciais, os {\it lags} e {\it times} para o peso do valor da diferença entre os 
diferentes períodos de tempo.

\begin{verbatim}
>m$m1 <- aglm(formula=inplsin~1, data=ilep, sp=~S, times=dftime)

>summary(m$m1);AIC(m$m1)


>m$m2 <- aglm(formula=inplsin~1, data=ilep, sp=~S+R+C, lag=c(-1,-1,-1), 
              times=dftime)

>summary(m$m2);AIC(m$m2);logLik(m$m2)


>m$m3 <- aglm(inplsin~1, data=ilep, sp=~S+R+C, lag=c(-1,0,0), times=dftime)

>summary(m$m3);AIC(m$m3);logLik(m$m3)


>m$m4 <- aglm(inplsin~inplaaca, data=ilep, sp=~S, lag=-1, times=dftime)

>summary(m$m4);AIC(m$m4)


>m$m5 <- aglm(inplsin~inplaaca, data=ilep, sp=~S+R+C, lag=-1, times=dftime)

>summary(m$m5);AIC(m$m5);logLik(m$m5)


>m$m6 <- aglm(inplsin~inplaaca, data=ilep, sp=~S+R+C, lag=c(-1,0,0), 
	            times=dftime)

>summary(m$m6);AIC(m$m6);logLik(m$m6)


>m$m7 <- aglm(inplsin~nacaplan, data=ilep, sp=~S, times=dftime)

>summary(m$m7);AIC(m$m7)


>m$m8 <- aglm(inplsin~nacaplan, data=ilep, sp=~S+R+C, times=dftime)

>summary(m$m8);AIC(m$m8);logLik(m$m8)


>m$m9 <- aglm(inplsin~nacaplan, data=ilep, sp=~S+R+C, lag=c(-1,0,0), 
              times=dftime)

>summary(m$m9);AIC(m$m9);logLik(m$m9)


\end{verbatim}

\clearpage
\subsection*{APÊNDICE B - Códigos em R para a obtenção das análises dos dados de MSC e 
para leprose dos citros}

\renewcommand{\baselinestretch}{1.0}



\begin{verbatim}

################################################################
### DADOS DE MORTE SUBITA DOS CITROS ###########################


##################################
###modelos usando o pacote Rcitrus


###dados

require(Rcitrus)
data(vv202)
vvi <- vv202
vvi[vv202>0] <- 1
apply(vvi, 3, mean)


###modelos

avals <- c(av2=2, av3=3,av4=4,av5=5,av6=6,av7=7,
           av8=8,av9=9,av10=10,av11=11)

fit <- list()

fit$m1 <- lapply(avals, function(i)
                 autologistic.citrus(Y~R2+C2, obj=vvi[,,i], obj2=vvi[,,i-1],
                                     inf.method="bootstrap", N=199))

fit$m2 <- lapply(avals, function(i)
                 autologistic.citrus(Y~R2+C2+dA2+dB2, obj=vvi[,,i], 
                                     obj2=vvi[,,i-1], inf.method="bootstrap", 
                                     N=199))

fit$m3 <- lapply(avals, function(i)
                 autologistic.citrus(Y~R+C, obj=vvi[,,i],
                                     inf.method="bootstrap",N=199))

fit$m4 <- lapply(avals, function(i)
                 autologistic.citrus(Y~R+C+dA+dB, obj=vvi[,,i],
                                     inf.method="bootstrap",N=199))


###coefientes

co1 <- t(rbind(sapply(fit$m1, function(x) coef(x$ps))))

require(xtable)

co2 <- t(rbind(sapply(fit$m2, function(x) coef(x$ps))))
co2
xtable(round(co2,3))

xtable(round(t(rbind(sapply(fit$m3, function(x) summary(x)$coef[,1]))),4))

xtable(round(t(rbind(sapply(fit$m4, function(x) summary(x)$coef[,1]))),4))

xtable(round(t(rbind(sapply(fit$m5, function(x) summary(x)$coef[,1]))),4))
summary(fit$m5$av2)


### extraindo os erros

summary(fit$m1$av2)
summary(fit$m1$av3)
summary(fit$m1$av4)
summary(fit$m1$av5)
...

summary(fit$m2$av2)
summary(fit$m2$av3)
summary(fit$m2$av4)
summary(fit$m2$av5)
...

t(rbind(sapply(fit$m3, function(x) summary(x)$coef[,2])))

t(rbind(sapply(fit$m4, function(x) summary(x)$coef[,2])))

t(rbind(sapply(fit$m5, function(x) summary(x)$coef[,2])))

summary(fit$m5$av2)


### extraindo os valores-p

round(pv.res, 4)

t(rbind(sapply(fit$m3, function(x) summary(x)$coef[,4])))

t(rbind(sapply(fit$m4, function(x) summary(x)$coef[,4])))

t(rbind(sapply(fit$m5, function(x) summary(x)$coef[,4])))

summary(fit$m5$av2)


####################################
###modelos usando o pacote stLattice

require(stLattice)

###dados

data(vv202,package="Rcitrus")

cvv <- new("rlcoords", x=1:nrow(vv202), y=1:ncol(vv202))

dvv <- new("strldata", value=array(ifelse(vv202,1,0), c(dim(vv202),1),
                                   dimnames=list(NULL, NULL, NULL, "resp")))

vv202str <- new("mstrl", coords=cvv,dates=as.ISOdate(as.numeric(dimnames(
                vv202)[[3]]), "numeric"), data=dvv)

##dump("vv202", "../data/vv202")

str(vv202str)

##modelos

m <- list()

m$avv1 <- aglm(resp~1,vv202str, ~R+C)
summary(m$avv1)

m$avv2 <- aglm(resp~1,vv202str, ~R+C+dA+dB)
summary(m$avv2)

m$avv3 <- aglm(resp~1,vv202str, ~R+C,lag=0)
summary(m$avv3)

m$avv4 <- aglm(resp~1,vv202str, ~R+C+dA+dB,lag=0)
summary(m$avv4)


#### tabelas 

coefs <- sapply(m, function(x) summary(x)$fit[,1])

ep <- sapply(m, function(x) summary(x)$fit[,2])

pvals <- sapply(m, function(x) summary(x)$fit[,4])

aics <- sapply(m, AIC)

bics <- sapply(m, function(x) AIC(x, k=log(length(x$resid))))

coefs

ep

pvals

aics

bics

################################################################
### DADOS DE LEPROSE DOS CITROS ################################

###Análise descritiva

uniConv <- function(dat, x, y, dates, find.form='array', 
                    attrib=NULL) {
  obj <- tapply(dat, list(x, y, dates), unique)
  attributes(obj) <- c(attributes(obj)[1], attrib) 
  dimnames(obj) <- list(Rows=unique(x), Cols=unique(y),
                        Evals=unique(dates))
  class(obj) <- c('citrus', 'array')
  if (find.form!='array')
    obj <- citrus.conv(obj, find.form=find.form)
  return(obj)
}

### Funcao para conversao de varias variaveis
multConv <- function(obj, data.col=6:19, coords.col=21:20,
                     dates.col=2, find.form='array', 
                     attrib=list(Municipio=NULL,
                       Propriedade=NULL, Proprietario=NULL,
                       Talhao='T257', Variedade=NULL, PortaEnxerto=NULL, 
                       EntreLinhas=7.5, DentroLinhas=3.8, Plantio=NULL, 
                       Latitude=NULL, Longitude=NULL)) 
  lapply(obj[, data.col], uniConv, obj[, coords.col[1]],
         obj[, coords.col[2]], obj[, dates.col], find.form, attrib) 


### lendo o arquivo de dados
popVal <- read.table('ValenciaR.txt', header=TRUE)
dim(popVal)
names(popVal)
summary(popVal)
popVal$x <- (popVal$x - min(popVal$x))
popVal$y <- (popVal$y - min(popVal$y))
max(popVal$x)
max(popVal$y)

aVal <- multConv(popVal, find.form='array')
names(aVal)

###Análise por quadrats
quad <- disp.quadrats(aVal$inplsin,2)
quad

quad <- disp.quadrats(aVal$inplsin,3)
quad

###Dsitância mínima média
md <- mmdist.test(aVal$inplsin, eval=1:dim(aVal$inplsin)[3])

md
summary(md)

############################################################
### arrumando datas
### colocando datas em formato ISOdate
dchar <- as.character(popVal$datalev)
ano <- as.numeric(substr(dchar, 7, 8))+2000
isodt <- ISOdate(ano, substr(dchar,4,5), substr(dchar,1,2))
popVal$datalev <- substr(as.character(isodt), 1, 10)
dts.avs <- unique(isodt)[23:45]

### convertendo avaliacoes 23:45 formato mstrl
### com as variaveis: inplacfr, inplacra, inplsifr, inplsira, inplsifo
id.av <- which(as.numeric(substring(as.character(popVal$mapa), 5))>22)
print(names(popVal)[c(7,9,13,15,17)], quote=F)

require(stLattice)
names(popVal)

ilep <- df2mstrl(popVal[id.av, c(4,5,2,19,10,11)])
dim(ilep@data@value)
str(ilep)

########################################
### ajustando os modelos
dimnames(ilep@data@value)[[4]]

dftime <-  as.numeric(mean(diff(ilep@dates)))

m <- list()

m$m1 <- aglm(formula=inplsin~1, data=ilep, sp=~S, times=dftime)
summary(m$m1); AIC(m$m1); deviance(m$m1); df.residual(m$m1)

m$m2 <- aglm(formula=inplsin~1, data=ilep, sp=~S+R+C, lag=c(-1,-1,-1), 
              times=dftime)
summary(m$m2);AIC(m$m2);logLik(m$m2);deviance(m$m2); df.residual(m$m2)

m$m3 <- aglm(inplsin~1, data=ilep, sp=~S+R+C, lag=c(-1,0,0), times=dftime)
summary(m$m3);AIC(m$m3);logLik(m$m3);deviance(m$m3); df.residual(m$m3)

m$m4 <- aglm(inplsin~inplaaca, data=ilep, sp=~S, lag=-1, times=dftime)
summary(m$m4);AIC(m$m4);deviance(m$m4); df.residual(m$m4)

m$m5 <- aglm(inplsin~inplaaca, data=ilep, sp=~S+R+C, lag=-1, times=dftime)
summary(m$m5);AIC(m$m5);logLik(m$m5); deviance(m$m5); df.residual(m$m5)


m$m6 <- aglm(inplsin~inplaaca, data=ilep, sp=~S+R+C, lag=c(-1,0,0), 
	            times=dftime)
summary(m$m6);AIC(m$m6);logLik(m$m6); deviance(m$m6); df.residual(m$m6)

m$m7 <- aglm(inplsin~nacaplan, data=ilep, sp=~S, times=dftime)
summary(m$m7);AIC(m$m7); deviance(m$m7); df.residual(m$m7)

m$m8 <- aglm(inplsin~nacaplan, data=ilep, sp=~S+R+C, times=dftime)
summary(m$m8);AIC(m$m8);logLik(m$m8);deviance(m$m8); df.residual(m$m8)


m$m9 <- aglm(inplsin~nacaplan, data=ilep, sp=~S+R+C, lag=c(-1,0,0), 
              times=dftime)
summary(m$m9);AIC(m$m9);logLik(m$m9); deviance(m$m9); df.residual(m$m9)


#### tabelas 

coefs <- sapply(m, function(x) summary(x)$fit[,1])
ep <- sapply(m, function(x) summary(x)$fit[,2])
pvals <- sapply(m, function(x) summary(x)$fit[,4])

aics <- sapply(m, AIC)
bics <- sapply(m, function(x) AIC(x, k=log(length(x$resid))))

coefs
ep
pvals
aics
bics

\end{verbatim}



%%% Local Variables:
%%% mode: latex
%%% TeX-master: "TESALQ"
%%% TeX-command-default: "PdfLaTeX"
%%% End:
