#' Tableau d'analyse
#'
#' Variables indiquant le nombre de personnes pour certaines caractéristiques.
#'
#' `admis_analyse2()` correspond au *Bilan d'admissibilité sur la période d'étude* du protocole méthodologique (Objectifs secondaires).
#'
#' @param dt Dataset créé par la fonction `admis_analyse()`.
#'
#' @return data.table : Variable, Nbre, Ratio, nID.
#' @import data.table
#' @export
admis_analyse2 <- function(dt){
if (is.null(dt)) {
return(NULL)
} else {
dt <- copy(dt)
DebutEtude <- attr(dt, "dates_etude")$Debut
FinEtude <- attr(dt, "dates_etude")$Fin
nID <- uniqueN(dt$ID)
# N_debut_etude
N_debut_etude <- nrow(dt[Dentree == DebutEtude])
# N_debut_etude_nonsld
N_debut_etude_nonsld <- nrow(dt[
Dentree == DebutEtude & # admissible au début
(is.na(DDsld) | # pas de date sld
DDsld > DebutEtude) # ou sld après debut d'étude
])
# N_fin_etude
N_fin_etude <- nrow(dt[Dsortie == FinEtude])
# N_debut_fin
N_debut_fin <- nrow(dt[
Dsortie == FinEtude & # admissible à la fin
Dentree == DebutEtude # et au début
])
# N_admis_etude_continue
N_admis_etude_continue <- sum(dt$Admis_Continue_Etude) # nbre de TRUE
# N_naissance
N_naissance <- nrow(dt[
DDN > DebutEtude & # naissance durant la période d'étude
Dentree > DebutEtude & # est devenu admissible durant l'étude
Dsortie == FinEtude # et l'est encore à la fin
])
# N_deces
N_deces <- nrow(dt[
DDC <= FinEtude & # décès avant la fin de l'étude
Dentree == DebutEtude # admissible au début
])
# N_entree_autre
N_entree_autre <- nrow(dt[
DDN <= DebutEtude & # naissance avant l'étude = est vivant
Dentree > DebutEtude & # inadmissible au début, mais le devient par la suite
Dsortie == FinEtude # est admissible à la fin de l'étude
])
# N_sortie_autre
N_sortie_autre <- nrow(dt[
Dentree == DebutEtude & # admissible début étude
Dsortie < FinEtude & # inadmissible avant fin étude
(is.na(DDC) | # n'est pas mort
DDC > FinEtude) # mort après la fin de l'étude
])
# N_sld
N_sld <- nrow(dt[
Dentree == DebutEtude & # admissible au début de l'étude
DDsld > DebutEtude & DDsld <= FinEtude # a reçu des soins durant la période d'étude
])
# N_fin_etude_nonsld
N_fin_etude_nonsld <- nrow(dt[
Dsortie == FinEtude &
(is.na(DDsld) | DDsld > FinEtude)
])
# N_debut_fin_nonsld
N_debut_fin_nonsld <- nrow(dt[
Dsortie == FinEtude & # admissible à la fin
Dentree == DebutEtude & # et au début
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# N_admis_etude_continue_nonsld
N_admis_etude_continue_nonsld <- nrow(dt[
Admis_Continue_Etude == TRUE & # admissible en continue
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# N_naissance_nonsld
N_naissance_nonsld <- nrow(dt[
DDN > DebutEtude & # naissance durant la période d'étude
Dentree > DebutEtude & # est devenu admissible durant l'étude
Dsortie == FinEtude & # et l'est encore à la fin
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# N_deces_nonsld
N_deces_nonsld <- nrow(dt[
DDC <= FinEtude & # décès avant la fin de l'étude
Dentree == DebutEtude & # admissible au début
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# N_entree_autre_nonsld
N_entree_autre_nonsld <- nrow(dt[
DDN <= DebutEtude & # naissance avant l'étude = est vivant
Dentree > DebutEtude & # inadmissible au début, mais le devient par la suite
Dsortie == FinEtude & # est admissible à la fin de l'étude
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# N_sortie_autre_nonsld
N_sortie_autre_nonsld <- nrow(dt[
Dentree == DebutEtude & # admissible début étude
Dsortie < FinEtude & # inadmissible avant fin étude
(is.na(DDC) | DDC > FinEtude) & # pas mort durant l'étude
(is.na(DDsld) | DDsld > FinEtude) # pas de sld durant étude
])
# Résultat
tab_result <- data.table(
# Nom des variables
Variable = c(
"N_debut_etude", "N_debut_etude_nonsld",
"N_fin_etude", "N_fin_etude_nonsld",
"N_debut_fin", "N_debut_fin_nonsld",
"N_admis_etude_continue", "N_admis_etude_continue_nonsld",
"N_naissance", "N_naissance_nonsld",
"N_deces", "N_deces_nonsld",
"N_entree_autre", "N_entree_autre_nonsld",
"N_sortie_autre", "N_sortie_autre_nonsld",
"N_sld"
),
# Valeur des variables
Nbre = c(
N_debut_etude, N_debut_etude_nonsld,
N_fin_etude, N_fin_etude_nonsld,
N_debut_fin, N_debut_fin_nonsld,
N_admis_etude_continue, N_admis_etude_continue_nonsld,
N_naissance, N_naissance_nonsld,
N_deces, N_deces_nonsld,
N_entree_autre, N_entree_autre_nonsld,
N_sortie_autre, N_sortie_autre_nonsld,
N_sld
)
)
tab_result[, Ratio := Nbre / nID] # ratios par rapport au nombre de ID
tab_result[, nID := eval(nID)] # indiquer nombre de ID
return(tab_result)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.