R/control_baseline_v0.R

Defines functions baseline_con_v0

#' @export
baseline_con_v0<- 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{# Either C, D or E
  #
  #   k<- (farm_inf_on[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])<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.