diff --git a/R/derive_vars_transposed.R b/R/derive_vars_transposed.R index d21322e73f..a0b67c1a1b 100644 --- a/R/derive_vars_transposed.R +++ b/R/derive_vars_transposed.R @@ -118,6 +118,8 @@ derive_vars_transposed <- function(dataset, optional = TRUE ) + dataset_merge <- filter_if(dataset_merge, filter) + # check for duplicates in dataset_merge as these will create list columns, # which is not acceptable for ADaM datasets signal_duplicate_records( @@ -134,7 +136,6 @@ derive_vars_transposed <- function(dataset, ) dataset_transposed <- dataset_merge %>% - filter_if(filter) %>% pivot_wider( names_from = !!key_var, values_from = !!value_var, diff --git a/tests/testthat/test-derive_vars_transposed.R b/tests/testthat/test-derive_vars_transposed.R index d2e1db5a8d..ee1b8d3cb3 100644 --- a/tests/testthat/test-derive_vars_transposed.R +++ b/tests/testthat/test-derive_vars_transposed.R @@ -40,6 +40,15 @@ test_that("derive_vars_transposed Test 2: filtering the merge dataset works", { "STUDY01", "P02", 31, 3, "STUDY01", "P03", 42, NA ) + + dataset_merge <- tibble::tribble( + ~STUDYID, ~USUBJID, ~TESTCD, ~VALUE, + "STUDY01", "P01", "T01", 31, + "STUDY01", "P01", "T02", 5, + "STUDY01", "P02", "T01", 3, + "STUDY01", "P01", "T02", 9 + ) + actual_output <- derive_vars_transposed( dataset, dataset_merge,