Rede ADAB - Análise do trânsito interno de bovinos na Bahia- Ano 2022

Agnobel Dantas Silva - Médico Veterinário / Fiscal Estadual Agropecuário

ADAB - Agência Estadual de Defesa Agropecuária

Conteúdo

1 Caracterização da rede de trânsito animal

1.1 Instalando o epinemo
install.packages('devtools')
library(devtools)
install_github(repo='leb-fmvz-usp/epinemo', force = TRUE)
1.2 Carregando o banco de dados GTAs

O banco de GTA’s está em um arquivo “.csv” (Valores separados por vírgulas), que corresponde ao trânsito interno de bovinos no Estado da Bahia, no ano de 2022, denominado de traninTR 2022.csv’*

adabinTR <- read.csv('C:/Users/Agnobel/Desktop/VPS5732 2024/traninTR 2022.csv',  fileEncoding="WINDOWS-1252", 
              sep=';', as.is=T)

Agora, vendo a estrutura do banco criado:

 str(adabinTR[1:6], width=80, strict.width="cut")
## 'data.frame':    433992 obs. of  6 variables:
##  $ Regional              : chr  "TERRITÓRIO BACIA DO JACUÍPE" "TERRITÓRIO BAC"..
##  $ Gerência              : chr  "ESCRITÓRIO CENTRAL IPIRÁ" "ESCRITÓRIO CENTRA"..
##  $ Município             : chr  "BAIXA GRANDE" "BAIXA GRANDE" "BAIXA GRANDE" "..
##  $ Número.da.GTA         : int  370934 371584 371533 371075 371013 370948 3709..
##  $ Série.da.GTA          : chr  "J" "J" "J" "J" ...
##  $ Data.de.emissão.da.GTA: chr  "30/12/2022" "30/12/2022" "30/12/2022" "30/12"..

Filtro por espécie

adabinTR <- adabinTR[ adabinTR$Espécie == 'Bovina', ]


#> unique(adabinTR$Espécie)
 [1] "Bovina"

Configuração da data no R

adabinTR$data <- as.Date(adabinTR$Data.de.emissão.da.GTA, format= "%d/%m/%Y")

str(adabinTR)

 'data.frame'    :  30707 obs. of  82 variables:
..
..
..
 $ Regional      : chr  "TERRITÓRIO BACIA DO JACUÍPE" "TERRITÓRIO BACIA DO JACUÍPE" "TERRITÓRIO BACI
 $ Gerência       : chr  "ESCRITÓRIO CENTRAL IPIRÁ" "ESCRI
 $ Usuário.Emissor: chr  "ROQUE OLIVEIRA DO NASCIMENTO (CPF: 521 536.....)
 $ data           : Date, format: "2022-12-30" "2022-12-30" "2022-12-30" ...
1.3 Criando a rede de movimentação

Criando os identificadores de cada nó na rede

library(epinemo)

bancoadabinTR <- createUniqueIds(adabinTR, 
                        from = 'COD.ORIGEM' ,
                        to = 'COD.DESTINO')

str(bancoadabinTR, width=80, strict.width="cut")

....
....
....
 ..$ COD.DESTINO                                           : num [1:330707] 0..
  ..$ Usuário.Emissor                                       : chr [1:330707] "..
  ..$ data                                                  : Date[1:330707],"..
  ..$ From                                                  : int [1:330707] 5..
  ..$ To                                                    : int [1:330707] 1..
 $ correspondence:'data.frame': 149037 obs. of  2 variables:
 ..$ database.id:    num [1:149037] 0 1 3 5 10 13 15 18 24 30 ...
$  ..$ network.id : int [1:149037] 1 2 3 4 5 6 7 8 9 10 ...
1.4 Criando a matriz de adjacência, de lotes e de animais
library(Matrix)

 Matriz de vizinhos ( matriz ponderada pelo o grau total( de vizinhos ) de cada nó)
matriz_adabinTR <- sparseMatrix(i = bancoadabinTR$movements$From, j=bancoadabinTR$movements$To,  
                              #dims = rep(max(bancoadabinTR$movements$From, bancoadabinTR$movements$To) , 2))

 max(bancoadabinTR$From, bancoadabinTR$movements$To)
 [1] 149037

 Matriz de lotes ( matriz ponderada pelo numero de movimentacoes entre os nós)
 matriz_lotes <- sparseMatrix(i = banco$movements$From, j=banco$movements$To, x=1, 
                             dims = rep(max(banco$movements$From, banco$movements$To) , 2))



 Matriz de animais ( matriz ponderada pelo numero de animais movimentados entre os nós)
 matriz_animadabTR <- sparseMatrix(i = bancoadabinTR$movements$From, j=bancoadabinTR$movements$To, 
                              x=bancoadabinTR$movements$Total.de.Bovinos,
                               dims = rep(max(bancoadabinTR$movements$From, bancoadabinTR$movements$To) , 2))
1.5 Calculando o grau por animais
matriz_animadabTR <- sparseMatrix(i = bancoadabinTR$movements$From, j=bancoadabinTR$movements$To, 
                                x=bancoadabinTR$movements$Total.de.Bovinos,
                                dims = rep(max(bancoadabinTR$movements$From, bancoadabinTR$movements$To) , 2))

kinTR <- colSums(matriz_animadabTR)
koutTR <- rowSums(matriz_animadabTR)
ktotalTR <- kinTR + koutTR
summary(kinTR)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
     0.00      0.00      1.00     30.32      6.00   125739.00


summary(koutTR)
     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
    0.00     0.00     3.00    30.32    11.00    60517.00 


summary(kintotalTR)

    Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
     1.00      2.00      6.00     60.65     20.00 126576.00 
1.5.1 Fig.1 - Boxplot REDE ADAB 2022

1.5.2 Fig. 2 - Plot REDE ADAB 2022

2) Controle de doença infecciosa na rede de trânsito animal

3) Vigilância de doença infecciosa na rede de trânsito animal

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.