tests/tests-verifs/Exploration-FrequenceDernierService.R

#' ---
#' title: "Tableau fréquence"
#' subtitle: "Durée entre décès et dernier service"
#' author: "Guillaume Boucher"
#' date: "`r Sys.Date()`"
#' output: pdf_document
#' geometry: margin=1.2cm
#' ---

#+ include=FALSE, echo=FALSE, warning=FALSE, message=FALSE
library(data.table)
library(lubridate)
knitr::opts_chunk$set(echo = TRUE, comment = "#>")
options(datatable.print.nrows = 200,
        scipen = 999)



#' ## Structure du dataset
DT <- readRDS("V:/GI-Data/_ADMIS/R data/DECES_2020-01-07.rds")
DT[, ID := as.integer(ID)]  # convertir integer
setkey(DT, ID, SOURCE_DERN_SERVICE)  # tri
names(DT)  # nom des colonnes
DT[  # visualisation du dataset
  !is.na(DECES_FIPA) & !is.na(DECES_HOSPIT_POSTMORTEM)
  & !is.na(DECES_HOSPIT_AUTRE) & !is.na(DERNIER_SERVICE)
]

#' \pagebreak

#' ## Nombre de DateDecesFIPA <> NA & DateDecesRED = NA
tab1 <- DT[!is.na(DECES_FIPA) & is.na(DECES_HOSPIT_AUTRE)]
uniqueN(tab1$ID)  # nombre de ID

#' ## Nombre de DateDecesFIPA = NA & DateDecesRED <> NA
tab2 <- DT[is.na(DECES_FIPA) & !is.na(DECES_HOSPIT_AUTRE)]
uniqueN(tab2$ID)  # nombre de ID

#' \pagebreak

#' ## Tableau fréquence des durées entre DateDecesFIPA et DateDecesRED
tab3 <- DT[!is.na(DECES_FIPA) & !is.na(DECES_HOSPIT_AUTRE)]
tab3[  # nombre de jours : DECES_FIPA - DECES_HOSPIT_AUTRE
  , diff_jours := as.integer(DECES_FIPA - DECES_HOSPIT_AUTRE)
]
tab3[  # regrouper les jours en classes
  , cat_diff := cut(diff_jours,
                    breaks = c(seq(min(diff_jours) - min(diff_jours) %% 100, -100, 100),
                               seq(-90, -20, 10),  # 0 à 19
                               seq(-15,-10,5),
                               seq(-9, 10),
                               seq(15, 20, 5),
                               seq(30, 100, 10),
                               seq(200, max(diff_jours)+100, 100)),
                    right = FALSE,  # [x, y[
                    dig.lab = 5)  # éviter notation scientifique
]
tab3[, .N, keyby = .(cat_diff)]


#' \pagebreak


#' ## Tableau de fréquence des durées entre DateDernierService et DateDecesFIPA
tab4 <- DT[!is.na(DECES_FIPA)]
tab4[  # nombre de jours : DERNIER_SERVICE - DECES_FIPA
  , diff_jours := as.integer(DERNIER_SERVICE - DECES_FIPA)
]
tab4[  # regrouper les jours en classes
  , cat_diff := cut(diff_jours,
                    breaks = c(seq(min(diff_jours, na.rm = T) - min(diff_jours, na.rm = T) %% 100, -100, 100),
                               seq(-90, -20, 10),  # 0 à 19
                               seq(-15,-10,5),
                               seq(-9, 10),
                               seq(15, 20, 5),
                               seq(30, 100, 10),
                               seq(200, max(diff_jours, na.rm = T)+100, 100)),
                    right = FALSE,  # [x, y[
                    dig.lab = 5)  # éviter notation scientifique
]
#' `cat_diff = NA` : Il n'y a pas de dernier service
tab4[, .N, keyby = .(cat_diff)]


#' \pagebreak


#' ## Tableau de fréquence des durées entre DateDernierService et DateDecesFIPA
tab5 <- DT[!is.na(DECES_HOSPIT_AUTRE)]
tab5[  # nombre de jours : DERNIER_SERVICE - DECES_FIPA
  , diff_jours := as.integer(DERNIER_SERVICE - DECES_HOSPIT_AUTRE)
]
tab5[  # regrouper les jours en classes
  , cat_diff := cut(diff_jours,
                    breaks = c(seq(min(diff_jours, na.rm = T) - min(diff_jours, na.rm = T) %% 100, -100, 100),
                               seq(-90, -20, 10),  # 0 à 19
                               seq(-15,-10,5),
                               seq(-9, 10),
                               seq(15, 20, 5),
                               seq(30, 100, 10),
                               seq(200, max(diff_jours, na.rm = T)+100, 100)),
                    right = FALSE,  # [x, y[
                    dig.lab = 5)  # éviter notation scientifique
]
#' `cat_diff = NA` : Il n'y a pas de dernier service
tab5[, .N, keyby = .(cat_diff)]
INESSS-QC/admissibilite1 documentation built on Aug. 7, 2020, 9:39 a.m.