inst/doc/descriptive.R

## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----library, warning=FALSE, message=FALSE------------------------------------
library(vigicaen)
library(rlang)
library(dplyr)

## ----test_datasets------------------------------------------------------------
demo     <- demo_
adr      <- adr_
drug     <- drug_
link     <- link_
out      <- out_
followup <- followup_

srce     <- srce_

thg      <- thg_
mp       <- mp_
meddra   <- meddra_
smq_list <- smq_list_
smq_content <- smq_content_

suspdup <- 
  data.table::data.table(
    UMCReportId = 1,
    SuspectedduplicateReportId = NA
  )

## ----codes, eval=TRUE---------------------------------------------------------
d_drecno <- ex_$d_drecno

a_llt <- ex_$a_llt

## ----demo_dm------------------------------------------------------------------
demo <-
  demo |>
  add_drug(
    d_code = d_drecno,
    drug_data = drug
  )

demo <-
  demo |>
  add_adr(
    a_code = a_llt,
    adr_data = adr
  )


## ----demo_dm_other_cols-------------------------------------------------------
# Age, sex

demo <-
  demo |>
  mutate(
    age = cut(as.integer(AgeGroup),
              breaks = c(0,4,5,6,7,8),
              include.lowest = TRUE, right = TRUE,
              labels = c("<18", "18-45","45-64", "65-74", "75+")),

    sex = case_when(Gender == "1" ~ 1,
                    Gender == "2" ~ 2,
                    Gender %in% c("-","0","9") ~ NA_real_,
                    TRUE ~ NA_real_)
  )

# Death + outcome availability

demo <- 
  demo |> 
  mutate(death = 
           ifelse(UMCReportId %in% out$UMCReportId,
                  UMCReportId %in% 
                    (out |> 
                    filter(Seriousness == "1") |> 
                    pull(UMCReportId)
                    ),
                  NA)
         )

# follow-up, seriousness

demo <-
  demo |>
  mutate(
    fup = if_else(UMCReportId %in% followup$UMCReportId, 1, 0),
    serious = 
      ifelse(
        UMCReportId %in% out$UMCReportId,
        UMCReportId %in% 
          (out |> 
          filter(Serious == "Y") |> 
          pull(UMCReportId)
          ),
        NA)
  )

# year

demo <- 
  demo |> 
  mutate(
    year = as.numeric(substr(FirstDateDatabase, start = 1, stop = 4))
    )

# type of reporter

demo <-
  demo |>
  left_join(
    srce |> transmute(UMCReportId, type_reporter = Type),
    by = "UMCReportId")

## ----desc_fv_age--------------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "age"
)

## ----desc_fv_drug-------------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "nivolumab"
)

## ----desc_fv_serious----------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "serious"
)

## ----desc_fv_raw_values-------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "nivolumab",
  export_raw_values = TRUE
)

## ----demo_re_dm_age-----------------------------------------------------------
demo <-
  demo |>
  mutate(
    age2 = cut(as.integer(AgeGroup),
              breaks = c(0, 6, 7, 8),
              include.lowest = TRUE, right = TRUE,
              labels = c("<64", "65-74", "75+"))
  )


desc_facvar(
  demo,
  vf = "age2"
)

## ----desc_fv_year, error=TRUE-------------------------------------------------
try({
desc_facvar(
  .data = demo,
  vf = "year"
)
})

## ----desc_fv_year_ncat--------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "year",
  ncat_max = 20
)

## ----desc_fv_region-----------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "Region"
)

## ----factor_region------------------------------------------------------------
demo <-
  demo |> 
  mutate(
    Region = factor(Region, levels = c("1", "2", "3", "4", "5", "6"))
  )

levels(demo$Region) <-
  c("African Region",                                    
    "Region of the Americas",                            
    "South-East Asia Region",                            
    "European Region",                                   
    "Eastern Mediterranean Region",                      
    "Western Pacific Region"  
  )

## ----desc_fv_region_factor----------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "Region"
)

## ----desc_fv_format-----------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "nivolumab",
  format = "n_/N_ [pc_%]"
)

## ----desc_fv_digits-----------------------------------------------------------
desc_facvar(
  .data = demo,
  vf = "nivolumab",
  digits = 1
)

## ----screen_drug--------------------------------------------------------------
screen_drug(drug, mp_data = mp, top_n = 5)

## ----screen_drug_add----------------------------------------------------------
drug |> 
  add_adr(
    a_llt,
    adr_data = adr
  ) |> 
  filter(a_colitis == 1) |> 
  screen_drug(
    mp_data = mp, top_n = 5
  )


## ----screen_adr---------------------------------------------------------------
screen_adr(adr_, meddra = meddra_)

## ----adr_dm-------------------------------------------------------------------

adr <-
  adr |>
  add_drug(
    d_code = d_drecno,
    drug_data = drug
  )

adr <-
  adr |>
  add_adr(
    a_code = a_llt,
    adr_data = adr
  )

## ----desc_outcome-------------------------------------------------------------
adr |> 
  desc_outcome(
    drug_s = "nivolumab",
    adr_s = "a_colitis"
  )

## ----create_link--------------------------------------------------------------
link <- 
  link_

## ----link_dm------------------------------------------------------------------
link <-
  link |> 
   add_drug(
    d_code = d_drecno,
    drug_data = drug
  )

link <-
  link |>
  add_adr(
    a_code = a_llt,
    adr_data = adr
  )

## ----link_check_dm------------------------------------------------------------
link |> 
   check_dm(
     cols = c(names(d_drecno), names(a_llt))
     )

## ----tto_mean_range, eval = FALSE---------------------------------------------
# tto_mean = (TimeToOnsetMax + TimeToOnsetMin) / 2
# 
# range = (TimeToOnsetMax + TimeToOnsetMin) / 2 - TimeToOnsetMin

## ----extract_tto_example------------------------------------------------------
extract_tto(
  .data = link,
  drug_s = "nivolumab",
  adr_s  = "a_colitis"
)

## ----desc_tto_example---------------------------------------------------------
desc_tto(
  .data = link,
  drug_s = "nivolumab",
  adr_s  = "a_colitis"
)

## ----desc_tto_many_to_many----------------------------------------------------
desc_tto(
  .data = link,
  drug_s = c("nivolumab", "pembrolizumab"),
  adr_s  = c("a_colitis", "a_pneumonitis")
)

## ----desc_dch_example---------------------------------------------------------
desc_dch(
  link,
  drug_s = "nivolumab",
  adr_s  = "a_colitis"
)

## ----desc_dch_many_to_many----------------------------------------------------
desc_dch(
  link,
  drug_s = c("nivolumab", "pembrolizumab"),
  adr_s  = c("a_colitis", "a_pneumonitis")
)

## ----desc_rch_example---------------------------------------------------------
desc_rch(
  link,
  drug_s = "nivolumab",
  adr_s  = "a_colitis"
)

## ----desc_rch_dm_hack---------------------------------------------------------
link <-
  link |> 
  mutate(
    all_cases = 1
  )

## ----desc_rch_hack------------------------------------------------------------
desc_rch(
  link,
  drug_s = "all_cases",
  adr_s  = "all_cases"
)

Try the vigicaen package in your browser

Any scripts or data that you put into this service are public.

vigicaen documentation built on April 3, 2025, 8:55 p.m.