Merge two variables in a data frame such as returned by dbGetFieldsIntoDf into a new variable, and optionally also map its values to new levels.
Arguments
- df
A data.frame in which there are two variables (columns) to be merged into one.
- colnames
A vector of length two with names of the two columns that hold the variables to be merged. See colnames for how to obtain the names of columns of a data frame.
- levelslist
A list with one slice each for a new value to be used for a vector of old values (optional).
- ...
for deprecated
varnames
parameter (will be removed)
Examples
vars2merge <- c("overall_status", "x5_trial_status")
dbc <- nodbi::src_sqlite(
dbname = system.file("extdata", "demo.sqlite", package = "ctrdata"),
collection = "my_trials")
df <- dbGetFieldsIntoDf(
fields = vars2merge,
con = dbc)
#> overall_status...
#>
#>
#> x5_trial_status...
#>
statusvalues <- list(
"ongoing" = c("Recruiting", "Active", "Ongoing",
"Active, not recruiting", "Enrolling by invitation"),
"completed" = c("Completed", "Prematurely Ended", "Terminated"),
"other" = c("Withdrawn", "Suspended",
"No longer available", "Not yet recruiting"))
dfMergeTwoVariablesRelevel(
df = df,
colnames = vars2merge,
levelslist = statusvalues)
#> Unique values returned (first three): completed, ongoing, Temporarily Halted
#> [1] "completed" "completed"
#> [3] "completed" "completed"
#> [5] "completed" "completed"
#> [7] "completed" "completed"
#> [9] "completed" "completed"
#> [11] "completed" "completed"
#> [13] "completed" "completed"
#> [15] "completed" "completed"
#> [17] "completed" "ongoing"
#> [19] "Temporarily Halted" "ongoing"
#> [21] "GB - no longer in EU/EEA" "Not Authorised"
#> [23] "ongoing" "completed"
#> [25] "completed" "completed"
#> [27] "completed" "completed"
#> [29] "completed" "Unknown status"
#> [31] "completed" "completed"
#> [33] "Unknown status" "Unknown status"
#> [35] "completed" "completed"
#> [37] "completed" "other"
#> [39] "completed" "completed"
#> [41] "completed" "completed"
#> [43] "other" "completed"
#> [45] "completed" "Unknown status"
#> [47] "completed" "completed"
#> [49] "completed" "completed"
#> [51] "completed" "ongoing"
#> [53] "completed" "completed"
#> [55] "Unknown status" "Unknown status"
#> [57] "Unknown status" "completed"
#> [59] "completed" "completed"
#> [61] "Unknown status"