R/polycontiNoInter_data.R

Defines functions polycontiNoInter_data

Documented in polycontiNoInter_data

#' Structure poly continue sans interruption
#'
#' Structure le dataset d'analyse pour les statistiques descriptives.
#'
#' @param data_Rx Dataset des Rx créé par la fonction `struct_Rx_analyse()`.
#' @param data_cohorte Dataset de la cohorte créé par la fonction `struct_cohorte()`.
#' @param t1,t2 Date de début et de fin de l'interval de temps à analyser.
#'
#' @import data.table
#' @export
polycontiNoInter_data <- function(data_Rx,
                                  data_cohorte=NULL,
                                  t1, t2=NULL){
  x <- copy(data_Rx[, .(ID, Rx, DateServ, FinServAjust)]); rm(data_Rx)  # sélection des colonnes
  if(is.null(data_cohorte)){  # s'il n'y a pas de cohorte
    y <- unique(x[, .(ID)])  # devient celle de data_Rx
  } else {  # sinon
    y <- copy(data_cohorte)  # sélection de la cohorte d'étude
    rm(data_cohorte)
  }
  t1 <- as_date(t1)  # convertir en DATE
  if(is.null(t2)) t2 <- t1 else t2 <- as_date(t2)  # convertir en DATE si existe sinon prend la valeur de x
  x <- x[  # conserver les observations qui sont dans l'interval d'analyse
    DateServ <= t1 & FinServAjust >= t2
  ]
  setkey(x, ID, Rx, DateServ)  # tri

  x <- x[, .(nRx = .N), .(ID)]  # nbr de Rx par ID
  if(nrow(y[!ID %in% x$ID, .(ID, nRx = 0)])) x <- rbind(x, y[!ID %in% x$ID, .(ID, nRx = 0)])  # ajouter ceux sans consommation
  setkey(x, ID)
  return(x)

}
INESSS-QC/polymed1 documentation built on Aug. 4, 2020, 12:02 a.m.