@@ -175,26 +175,30 @@ derive_req_vars <- function(
175175 ref_range_upper_lim_var ,
176176 sel_x ,
177177 sel_y ) {
178- if (! is.null(dataset ) && nrow(dataset ) != 0 ) {
179- # Get the data frame in required structure (Pivot wider grouped by certain variables)
180- dataset <- dataset %> %
181- dplyr :: filter(.data [[lb_test_var ]] %in% c(sel_x , sel_y )) %> %
182- dplyr :: mutate(
183- r_ULN = .data [[lb_result_var ]] / .data [[ref_range_upper_lim_var ]],
184- r_Baseline = .data [[lb_result_var ]] / .data [[" BASE" ]]
185- ) %> %
186- dplyr :: select(dplyr :: all_of(c(subjectid_var , arm_var , lb_test_var , visit_var , " r_ULN" , " r_Baseline" ))) %> %
187- dplyr :: group_by(.data [[subjectid_var ]], .data [[arm_var ]], .data [[lb_test_var ]], .data [[visit_var ]]) %> %
188- dplyr :: mutate(row = dplyr :: row_number()) %> %
189- tidyr :: pivot_wider(names_from = tidyr :: all_of(lb_test_var ), values_from = c(" r_ULN" , " r_Baseline" )) %> %
190- dplyr :: select(- dplyr :: all_of(" row" )) %> %
191- dplyr :: mutate(
192- " r_ULN_{{sel_x}}" = as.numeric(.data [[paste0(" r_ULN_" , sel_x )]]),
193- " r_ULN_{{sel_y}}" = as.numeric(.data [[paste0(" r_ULN_" , sel_y )]]),
194- " r_Baseline_{{sel_x}}" = as.numeric(.data [[paste0(" r_Baseline_" , sel_x )]]),
195- " r_Baseline_{{sel_y}}" = as.numeric(.data [[paste0(" r_Baseline_" , sel_y )]])
196- )
178+
179+ if (nrow(dataset ) == 0 ) {
180+ return (NULL )
197181 }
182+
183+ # Get the data frame in required structure (Pivot wider grouped by certain variables)
184+ dataset <- dataset %> %
185+ dplyr :: filter(.data [[lb_test_var ]] %in% c(sel_x , sel_y )) %> %
186+ dplyr :: mutate(
187+ r_ULN = .data [[lb_result_var ]] / .data [[ref_range_upper_lim_var ]],
188+ r_Baseline = .data [[lb_result_var ]] / .data [[" BASE" ]]
189+ ) %> %
190+ dplyr :: select(dplyr :: all_of(c(subjectid_var , arm_var , lb_test_var , visit_var , " r_ULN" , " r_Baseline" ))) %> %
191+ dplyr :: group_by(.data [[subjectid_var ]], .data [[arm_var ]], .data [[lb_test_var ]], .data [[visit_var ]]) %> %
192+ dplyr :: mutate(row = dplyr :: row_number()) %> %
193+ tidyr :: pivot_wider(names_from = tidyr :: all_of(lb_test_var ), values_from = c(" r_ULN" , " r_Baseline" )) %> %
194+ dplyr :: select(- dplyr :: all_of(" row" )) %> %
195+ dplyr :: mutate(
196+ " r_ULN_{{sel_x}}" = as.numeric(.data [[paste0(" r_ULN_" , sel_x )]]),
197+ " r_ULN_{{sel_y}}" = as.numeric(.data [[paste0(" r_ULN_" , sel_y )]]),
198+ " r_Baseline_{{sel_x}}" = as.numeric(.data [[paste0(" r_Baseline_" , sel_x )]]),
199+ " r_Baseline_{{sel_y}}" = as.numeric(.data [[paste0(" r_Baseline_" , sel_y )]])
200+ )
201+
198202 return (dataset )
199203}
200204
@@ -268,7 +272,8 @@ generate_plot <- function(
268272 y_rng_lower ,
269273 y_rng_upper ,
270274 source = NULL ) {
271- if (is.null(dataset ) || nrow(dataset ) == 0 ) {
275+
276+ if (is.null(dataset )) {
272277 return (NULL )
273278 }
274279
0 commit comments