View source: R/filter_relative.R
filter_relative | R Documentation |
Filters the observations before or after the observation where a specified condition is fulfilled for each by group. For example, the function could be called to select for each subject all observations before the first disease progression.
filter_relative(
dataset,
by_vars,
order,
condition,
mode,
selection,
inclusive,
keep_no_ref_groups = TRUE,
check_type = "warning"
)
dataset |
Input dataset The variables specified by the |
by_vars |
Grouping variables Permitted Values: list of variables created by |
order |
Sort order Within each by group the observations are ordered by the specified order. For handling of Permitted Values: list of expressions created by |
condition |
Condition for Reference Observation The specified condition determines the reference observation. The output
dataset contains all observations before or after ( |
mode |
Selection mode (first or last) If Permitted Values: |
selection |
Select observations before or after the reference observation? Permitted Values: |
inclusive |
Include the reference observation? Permitted Values: |
keep_no_ref_groups |
Should by groups without reference observation be kept? Permitted Values: |
check_type |
Check uniqueness? If Permitted Values: |
For each by group ( by_vars
parameter) the observations before or
after (selection
parameter) the observations where the condition
(condition
parameter) is fulfilled the first or last time (order
parameter and mode
parameter) is included in the output dataset.
A dataset containing for each by group the observations before or after the observation where the condition was fulfilled the first or last time
Utilities for Filtering Observations:
count_vals()
,
filter_exist()
,
filter_extreme()
,
filter_joined()
,
filter_not_exist()
,
max_cond()
,
min_cond()
library(tibble)
response <- tribble(
~USUBJID, ~AVISITN, ~AVALC,
"1", 1, "PR",
"1", 2, "CR",
"1", 3, "CR",
"1", 4, "SD",
"1", 5, "NE",
"2", 1, "SD",
"2", 2, "PD",
"2", 3, "PD",
"3", 1, "SD",
"4", 1, "SD",
"4", 2, "PR",
"4", 3, "PD",
"4", 4, "SD",
"4", 5, "PR"
)
# Select observations up to first PD for each patient
response %>%
filter_relative(
by_vars = exprs(USUBJID),
order = exprs(AVISITN),
condition = AVALC == "PD",
mode = "first",
selection = "before",
inclusive = TRUE
)
# Select observations after last CR, PR, or SD for each patient
response %>%
filter_relative(
by_vars = exprs(USUBJID),
order = exprs(AVISITN),
condition = AVALC %in% c("CR", "PR", "SD"),
mode = "last",
selection = "after",
inclusive = FALSE
)
# Select observations from first response to first PD
response %>%
filter_relative(
by_vars = exprs(USUBJID),
order = exprs(AVISITN),
condition = AVALC %in% c("CR", "PR"),
mode = "first",
selection = "after",
inclusive = TRUE,
keep_no_ref_groups = FALSE
) %>%
filter_relative(
by_vars = exprs(USUBJID),
order = exprs(AVISITN),
condition = AVALC == "PD",
mode = "first",
selection = "before",
inclusive = TRUE
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.