Skip to contents

Remove All Temporary Variables Created Within the Current Function Environment

Usage

remove_tmp_vars(dataset)

Arguments

dataset

The input dataset

Value

The input dataset with temporary variables removed

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