Remove All Temporary Variables Created Within the Current Function Environment
Source:R/tmp_vars.R
remove_tmp_vars.Rd
Remove All Temporary Variables Created Within the Current Function Environment
Examples
library(dplyr, warn.conflicts = FALSE)
library(pharmaversesdtm)
data(dm)
dm <- select(dm, USUBJID)
tmp_var <- get_new_tmp_var(dm)
dm <- mutate(dm, !!tmp_var := NA)
## This function creates two new temporary variables which are removed when calling
## `remove_tmp_vars()`. Note that any temporary variable created outside this
## function is **not** removed
do_something <- function(dataset) {
tmp_var_1 <- get_new_tmp_var(dm)
tmp_var_2 <- get_new_tmp_var(dm)
dm %>%
mutate(!!tmp_var_1 := NA, !!tmp_var_2 := NA) %>%
print() %>%
remove_tmp_vars()
}
do_something(dm)
#> # A tibble: 306 × 4
#> USUBJID tmp_var_1 tmp_var_2 tmp_var_3
#> <chr> <lgl> <lgl> <lgl>
#> 1 01-701-1015 NA NA NA
#> 2 01-701-1023 NA NA NA
#> 3 01-701-1028 NA NA NA
#> 4 01-701-1033 NA NA NA
#> 5 01-701-1034 NA NA NA
#> 6 01-701-1047 NA NA NA
#> 7 01-701-1057 NA NA NA
#> 8 01-701-1097 NA NA NA
#> 9 01-701-1111 NA NA NA
#> 10 01-701-1115 NA NA NA
#> # ℹ 296 more rows
#> # A tibble: 306 × 2
#> USUBJID tmp_var_1
#> <chr> <lgl>
#> 1 01-701-1015 NA
#> 2 01-701-1023 NA
#> 3 01-701-1028 NA
#> 4 01-701-1033 NA
#> 5 01-701-1034 NA
#> 6 01-701-1047 NA
#> 7 01-701-1057 NA
#> 8 01-701-1097 NA
#> 9 01-701-1111 NA
#> 10 01-701-1115 NA
#> # ℹ 296 more rows