Nothing
## ---- include = FALSE---------------------------------------------------------
# needed so that the as.data.frame part of the vignette
# does not need a restart of the session everytime the
# vignette is built
#rm(list = ls()) # removed this at the request of the CRAN submission
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ---- eval = FALSE------------------------------------------------------------
# install.packages("secuTrialR", dependencies = TRUE)
## ---- eval = FALSE------------------------------------------------------------
# # install
# devtools::install_github("SwissClinicalTrialOrganisation/secuTrialR")
## -----------------------------------------------------------------------------
# load silently
suppressMessages(library(secuTrialR))
# show secuTrialR version
packageVersion("secuTrialR")
## -----------------------------------------------------------------------------
ctu05_data_location <- system.file("extdata", "sT_exports", "exp_opt",
"s_export_CSV-xls_CTU05_all_info.zip",
package = "secuTrialR")
## -----------------------------------------------------------------------------
ctu05_data <- read_secuTrial(data_dir = ctu05_data_location)
## -----------------------------------------------------------------------------
class(ctu05_data)
## -----------------------------------------------------------------------------
typeof(ctu05_data)
## -----------------------------------------------------------------------------
print(ctu05_data)
## -----------------------------------------------------------------------------
table(ctu05_data$treatment$rando_treatment)
table(ctu05_data$allmedi$med_product)
## -----------------------------------------------------------------------------
# raw gender data
ctu05_data$baseline$gender
# transformed gender data
ctu05_data$baseline$gender.factor
# raw more meds
ctu05_data$allmedi$no_more_meds
# transformed more meds
ctu05_data$allmedi$no_more_meds.factor
## -----------------------------------------------------------------------------
label(ctu05_data$allmedi$no_more_meds.factor)
label(ctu05_data$baseline$gender.factor)
label(ctu05_data$esurgeries$surgery_organ.factor)
## -----------------------------------------------------------------------------
# raw
ctu05_data$baseline$visit_date
# processed
ctu05_data$baseline$visit_date.date
# raw only head
head(ctu05_data$baseline$hiv_date)
# processed only head
head(ctu05_data$baseline$hiv_date.datetime)
# classes
class(ctu05_data$baseline$visit_date)
class(ctu05_data$baseline$visit_date.date)
class(ctu05_data$baseline$hiv_date)
class(ctu05_data$baseline$hiv_date.datetime)
## -----------------------------------------------------------------------------
ctu05_data$export_options
## -----------------------------------------------------------------------------
ctu05_data$export_options$project_name
ctu05_data$export_options$encoding
## -----------------------------------------------------------------------------
names(ctu05_data$export_options)
## -----------------------------------------------------------------------------
get_participants(ctu05_data)
## -----------------------------------------------------------------------------
annual_recruitment(ctu05_data)
## -----------------------------------------------------------------------------
annual_recruitment(ctu05_data, rm_regex = "\\(.*\\)$")
## ---- fig.height = 3.6, fig.width = 8-----------------------------------------
plot_recruitment(ctu05_data, cex = 1.2, rm_regex = "\\(.*\\)$")
## ---- fig.height = 3.9, fig.width = 3.9---------------------------------------
vs <- visit_structure(ctu05_data)
plot(vs)
## -----------------------------------------------------------------------------
fss <- form_status_summary(ctu05_data)
tail(fss, n = 5)
## -----------------------------------------------------------------------------
fsc <- form_status_counts(ctu05_data)
# show the top
head(fsc)
## ---- eval = FALSE------------------------------------------------------------
# links_secuTrial(ctu05_data)
## -----------------------------------------------------------------------------
# randomly retrieve at least 25 percent of participants recorded after March 18th 2019
# from the centres "Inselspital Bern" and "Charité Berlin"
return_random_participants(ctu05_data,
percent = 0.25,
seed = 1337,
date = "2019-03-18",
centres = c("Inselspital Bern (RPACK)",
"Charité Berlin (RPACK)"))
## -----------------------------------------------------------------------------
return_scores(ctu05_data)
## -----------------------------------------------------------------------------
(ctu05_data)
## -----------------------------------------------------------------------------
ctu06_v1 <- read_secuTrial(system.file("extdata", "sT_exports", "change_tracking",
"s_export_CSV-xls_CTU06_version1.zip",
package = "secuTrialR"))
ctu06_v2 <- read_secuTrial(system.file("extdata", "sT_exports", "change_tracking",
"s_export_CSV-xls_CTU06_version2.zip",
package = "secuTrialR"))
diff_secuTrial(ctu06_v1, ctu06_v2)
## ---- eval = FALSE------------------------------------------------------------
# # retrieve path to a temporary directory
# tdir <- tempdir()
# # write spss
# write_secuTrial(ctu05_data, format = "sav", path = tdir)
## -----------------------------------------------------------------------------
# initialize some subset identifiers
participants <- c("RPACK-INS-011", "RPACK-INS-014", "RPACK-INS-015")
centres <- c("Inselspital Bern (RPACK)", "Universitätsspital Basel (RPACK)")
# exclude Bern and Basel
ctu05_data_berlin <- subset_secuTrial(ctu05_data, centre = centres, exclude = TRUE)
# exclude Berlin
ctu05_data_bern_basel <- subset_secuTrial(ctu05_data, centre = centres)
# keep only subset of participants
ctu05_data_pids <- subset_secuTrial(ctu05_data, participant = participants)
class(ctu05_data_berlin)
class(ctu05_data_bern_basel)
class(ctu05_data_pids)
## -----------------------------------------------------------------------------
# only Berlin remains
ctu05_data_berlin$ctr
# all centres remain even though all three participant ids are from Bern
ctu05_data_pids$ctr
## ---- fig.height = 3.8, fig.width = 8-----------------------------------------
# keep only Bern
ctu05_data_bern <- subset_secuTrial(ctu05_data, centre = "Inselspital Bern (RPACK)")
# plot
plot_recruitment(ctu05_data_bern)
## ---- fig.height = 3.8, fig.width = 8-----------------------------------------
# keep only Bern and Berlin
ctu05_data_bern_berlin <- subset_secuTrial(ctu05_data,
centre = c("Inselspital Bern (RPACK)",
"Charité Berlin (RPACK)"))
# plot
plot_recruitment(ctu05_data_bern_berlin)
## -----------------------------------------------------------------------------
head(ctu05_data$treatment$mnpdocid)
head(ctu05_data$baseline$mnpdocid)
## -----------------------------------------------------------------------------
server <- "server.secutrial.com"
instance <- "ST21-setup-DataCapture"
customer <- "TES"
project <- "7036"
# make three links with the first three baseline docids
bl_docids <- head(ctu05_data$baseline$mnpdocid, n = 3)
links <- build_secuTrial_url(server, instance, customer,
project, bl_docids)
## -----------------------------------------------------------------------------
env <- new.env()
ls(env)
## -----------------------------------------------------------------------------
# add files to env
as.data.frame(ctu05_data, envir = env)
## -----------------------------------------------------------------------------
ls(env)
## ---- echo = FALSE, results = TRUE--------------------------------------------
# incomplete dates
warning(
"In dates_secuTrial.data.frame(tmp, datevars, timevars, dateformat, :
Not all dates were converted for
variable: 'a_variable_name'
in form: 'a_form_name'
This is likely due to incomplete date entries."
)
## ---- echo = FALSE, results = TRUE--------------------------------------------
# duplicate factors
warning(
"In factorize_secuTrial.data.frame(curr_form_data, cl = object$cl, :
Duplicate values found during factorization of a_variable_name")
## ---- echo = FALSE, results = TRUE--------------------------------------------
# duplicate labels
warning(
"In label_secuTrial.secuTrialdata(d) :
The labels attribute may be longer than 1 for the following variables and forms.
Likely the label was changed from its original state in the secuTrial project setup.
variables: a_variable_name
forms: a_form_name"
)
## -----------------------------------------------------------------------------
treatment_shrink <- ctu05_data$treatment[, c("mnpcvpid", "rando_treatment")]
## -----------------------------------------------------------------------------
bl_treat <- merge(x = ctu05_data$baseline, y = treatment_shrink,
by = "mnpcvpid", all.x = TRUE)
# check dimensions
dim(ctu05_data$baseline)
dim(bl_treat)
## -----------------------------------------------------------------------------
bl_surg <- merge(x = ctu05_data$baseline, y = ctu05_data$esurgeries, by = "mnpdocid")
## -----------------------------------------------------------------------------
table(ctu05_data$esurgeries$mnpdocid)
## -----------------------------------------------------------------------------
# before merge
table(ctu05_data$baseline$height)
# after merge
table(bl_surg$height)
## -----------------------------------------------------------------------------
# write a temporary object
surg <- ctu05_data$esurgeries[, c("mnpdocid", "surgery_organ.factor")]
# only retain non NA rows
surg <- surg[which(! is.na(surg$surgery_organ.factor)), ]
# show it
surg
## -----------------------------------------------------------------------------
library(tidyr) # pivot_wider
# add a count
surg$count <- 1
# show the data
surg
# make it wide
surg_wide <- pivot_wider(surg, names_from = surgery_organ.factor, values_from = count)
# show the wide data
surg_wide
## -----------------------------------------------------------------------------
# merge
bl_surg_no_dup <- merge(x = ctu05_data$baseline, y = surg_wide,
by = "mnpdocid", all.x = TRUE)
# compare dimensions
dim(bl_surg_no_dup)
dim(ctu05_data$baseline)
# check the height variable
table(bl_surg_no_dup$height)
## -----------------------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.