library(dplyr)
library(lubridate)
<- readRDS("data/dm.rds")
dm <- readRDS("data/ae.rds") ae
6 mutate exercises
6.1 Setup
6.2 Exercise 1
A treatment emergent adverse event is defined as an adverse event whose start date is on or after the treatment start date (TRTSDT
) and at the latest starts 7 days after the treatment end date (TRTEDT
). Given this definition calculate TRTEMFL
.
Hint: Turn the --DTC
variables into proper dates first using the ymd()
function.
Show solution
%>%
ae mutate(
ASTDT = ymd(AESTDTC),
AENDT = ymd(AEENDTC),
TRTEMFL = if_else(ASTDT >= TRTSDT & ASTDT <= TRTEDT + 7, "Y", NA_character_)
%>%
) select(USUBJID, ASTDT, AENDT, TRTSDT, TRTEDT, TRTEMFL)
Warning: 19 failed to parse.
# A tibble: 1,191 × 6
USUBJID ASTDT AENDT TRTSDT TRTEDT TRTEMFL
<chr> <date> <date> <date> <date> <chr>
1 01-701-1015 2014-01-03 NA 2014-01-02 2014-07-02 Y
2 01-701-1015 2014-01-03 NA 2014-01-02 2014-07-02 Y
3 01-701-1015 2014-01-09 2014-01-11 2014-01-02 2014-07-02 Y
4 01-701-1023 2012-08-26 NA 2012-08-05 2012-09-01 Y
5 01-701-1023 2012-08-07 2012-08-30 2012-08-05 2012-09-01 Y
6 01-701-1023 2012-08-07 NA 2012-08-05 2012-09-01 Y
7 01-701-1023 2012-08-07 2012-08-30 2012-08-05 2012-09-01 Y
8 01-701-1028 2013-07-21 NA 2013-07-19 2014-01-14 Y
9 01-701-1028 2013-08-08 NA 2013-07-19 2014-01-14 Y
10 01-701-1034 2014-08-27 NA 2014-07-01 2014-12-30 Y
# … with 1,181 more rows
6.3 Exercise 2
Create a new variable REGION1
based upon COUTRY
as shown in the table below.
Countries | Region |
---|---|
Mexico, USA, Canada | North America |
Spain, Greece, Germany, Switzerland | Europe |
China, Japan | Asia |
Show solution
%>%
dm mutate(
REGION1 = case_when(
%in% c("Mexico", "USA", "Canada") ~ "North America",
COUNTRY %in% c("Spain", "Greece", "Germany", "Switzerland") ~ "Europe",
COUNTRY %in% c("China", "Japan") ~ "Asia"
COUNTRY
)%>%
) select(USUBJID, COUNTRY, REGION1)
# A tibble: 306 × 3
USUBJID COUNTRY REGION1
<chr> <chr> <chr>
1 01-701-1015 USA North America
2 01-701-1023 USA North America
3 01-701-1028 USA North America
4 01-701-1033 USA North America
5 01-701-1034 USA North America
6 01-701-1047 USA North America
7 01-701-1057 USA North America
8 01-701-1097 USA North America
9 01-701-1111 USA North America
10 01-701-1115 USA North America
# … with 296 more rows