R/control_baseline.R

Defines functions baseline_con

#' @export
baseline_con<- function(farm_pos_cat,farm_inf,farm_inf_on,min_tim_cont,indx_rem,indx_con,mm_1,nn_1,int_det){

  if(farm_inf[mm_1,nn_1]==0 & (min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>=360*2){ # Either A or B

    if((min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>10000 ){   # Never recorded
      eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "A"))

    }
    else{
      eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "B"))

    }

    eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- 360))
    eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ 360))
  }

  else if(farm_inf[mm_1,nn_1]>0 & (min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>=360*2){
    kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
    # if(min_tim_cont==2552){
    #   show(c(kk,min_tim_cont))
    #   show(farm_pos_cat[indx_con,])
    #   #stop("reach")
    # }
    switch(kk,
           { # 1 infection
             eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
           },
           { # 1-10 infections
             eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
           },
           { # >10 infections
             eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
           }
    )

    eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
    eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))

    eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))

  }
  else{# Either C, D or E or first detection in A and B

    k<- (farm_inf_on[mm_1,nn_1]>0) + 1
# if(min_tim_cont==2552){
#   # show(c(k,min_tim_cont))
#   show(farm_pos_cat[indx_con,])
#   #stop("reach")
# }

    switch(k,
           {  # No infection during the visit
             # show(farm_pos_cat$vis[indx_con])
             if(farm_pos_cat$vis_int[indx_con]==int_det[1]){
               eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[2]))
               eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[2]))
               eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- 360/int_det[2] -1))
             }
             if(farm_pos_cat$vis_int[indx_con]==int_det[2]){
               if (farm_pos_cat$nb_round[indx_con]>0) {
                 eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
                 eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[2]))
               }
               else{
                 eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[3]))
                 eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
                 eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- 360/int_det[3] -1))
               }
               # if(min_tim_cont==2552){
               #   # show(c(k,min_tim_cont))
               #   show(farm_pos_cat[indx_con,])
               #   #stop("reach")
               # }
             }

             if(farm_pos_cat$vis_int[indx_con]==int_det[3]){
               if (farm_pos_cat$nb_round[indx_con]>0) {
                 eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
                 eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
               }


             }

           },

           { # >=1 infection
             kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
             # if(min_tim_cont==2552){
             #   show(c(kk,min_tim_cont))
             #   show(farm_pos_cat[indx_con,])
             #   #stop("reach")
             # }
             switch(kk,
                    { # 1 infection
                      eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
                    },
                    { # 1-10 infections
                      eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
                    },
                    { # >10 infections
                      eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
                    }
             )

             eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
             eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))

             eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))

           }

    )

    eval.parent(substitute(farm_inf[mm_1,nn_1]<- 0))

  }


  }



















  # if((min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])<0 ){   # Never recorded
  #   if(farm_inf[mm_1,nn_1]==0){
  #     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "A"))
  #     eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- 360))
  #     eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ 360))
  #   }
  #   else{
  #     kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
  #     switch(kk,
  #            { # 1 infection
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
  #            },
  #            { # 1-10 infections
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
  #            },
  #            { # >10 infections
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
  #            }
  #     )
  #     eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
  #     eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))
  #     eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))
  #   }
  #
  # }
  #
  # if((min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>=360*2){ # Lat posive more than two years
  #   if(farm_inf[mm_1,nn_1]==0){
  #     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "B"))
  #     eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- 360))
  #     eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ 360))
  #   }
  #   else{
  #     kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
  #     switch(kk,
  #            { # 1 infection
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
  #            },
  #            { # 1-10 infections
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
  #            },
  #            { # >10 infections
  #              eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
  #            }
  #     )
  #     eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
  #     eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))
  #     eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))
  #   }
  #
  # }
  #
  # if((min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])<=360 & (min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>0){
  #   k<- (farm_inf[mm_1,nn_1]>0) + 1
  #   # show(k)
  #   switch(k,
  #          {  # No infection during the visit
  #           # show(farm_pos_cat$vis[indx_con])
  #            if(farm_pos_cat$vis_int[indx_con]==int_det[1]){
  #              eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[2]))
  #              eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[2]))
  #              eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- 360/int_det[2] -1))
  #            }
  #            if(farm_pos_cat$vis_int[indx_con]==int_det[2]){
  #              if (farm_pos_cat$nb_round[indx_con]>0) {
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[2]))
  #              }
  #              else{
  #                eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[3]))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- 360/int_det[3] -1))
  #              }
  #
  #            }
  #
  #            if(farm_pos_cat$vis_int[indx_con]==int_det[3]){
  #              if (farm_pos_cat$nb_round[indx_con]>0) {
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
  #              }
  #
  #
  #            }
  #
  #            },
  #
  #          { # >=1 infection
  #            kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
  #            switch(kk,
  #                   { # 1 infection
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
  #                   },
  #                   { # 1-10 infections
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
  #                   },
  #                   { # >10 infections
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
  #                   }
  #                   )
  #
  #            eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
  #            eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))
  #
  #            eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))
  #
  #          }
  #
  #          )
  #
  #   eval.parent(substitute(farm_inf[mm_1,nn_1]<- 0))
  #
  # }
  #
  #
  # if((min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])< 2*360 & (min_tim_cont-farm_pos_cat$tim_lst_pos[indx_con])>360){
  #   k<- (farm_inf[mm_1,nn_1]>0) + 1
  #   # show(k)
  #   switch(k,
  #          {  # No infection during the visit
  #            # show(farm_pos_cat$vis[indx_con])
  #            if(farm_pos_cat$vis_int[indx_con]==int_det[2]){
  #              if (farm_pos_cat$nb_round[indx_con]>0) {
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[2]))
  #              }
  #              else{
  #                eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[3]))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- 360/int_det[3] -1))
  #              }
  #
  #            }
  #
  #            if(farm_pos_cat$vis_int[indx_con]==int_det[3]){
  #              if (farm_pos_cat$nb_round[indx_con]>0) {
  #                eval.parent(substitute(farm_pos_cat$nb_round[indx_con]<- farm_pos_cat$nb_round[indx_con]-1))
  #                eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[3]))
  #              }
  #
  #
  #            }
  #
  #          },
  #
  #          { # >=1 infection
  #            kk<- (farm_inf[mm_1,nn_1]>1) + (farm_inf[mm_1,nn_1]>10) + 1
  #            switch(kk,
  #                   { # 1 infection
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "C"))
  #                   },
  #                   { # 1-10 infections
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "D"))
  #                   },
  #                   { # >10 infections
  #                     eval.parent(substitute(farm_pos_cat$cat[indx_con]<- "E"))
  #                   }
  #            )
  #
  #            eval.parent(substitute(farm_pos_cat$vis_int[indx_con]<- int_det[1]))
  #            eval.parent(substitute(farm_pos_cat$vis[indx_con]<- min_tim_cont+ int_det[1]))
  #
  #            eval.parent(substitute(farm_pos_cat$tim_lst_pos[indx_con]<- min_tim_cont))
  #
  #          }
  #
  #   )
  #
  #   eval.parent(substitute(farm_inf[mm_1,nn_1]<- 0))
  #
  # }


  # show(farm_pos_cat$vst)

# }
holaanna/contactsimulator documentation built on Dec. 2, 2019, 2:39 a.m.