join omop concept name and other concept columns onto a dataframe with a *_concept_id column
Source:R/omop_join_name.R
omop_join_name.Rd
adds (namestart)_name based on (namestart)_concept_id e.g. drug_concept_id to get drug_name
Arguments
- df
dataframe
- namestart
start of *_concept_id column, if "" will join on concept_name, ignored if namefull used
- namefull
optional full name of concept_id column, if default "" namestart used
- columns
which columns from omop concept table to join on. Option of "all", default=c("concept_name"), e.g. c("concept_name","domain_id")
Examples
data.frame(concept_id=(c(3571338L,4002075L))) |> omop_join_name()
#> # A tibble: 2 × 2
#> concept_id concept_name
#> <int> <chr>
#> 1 3571338 Problem behaviour
#> 2 4002075 BLUE LOTION
data.frame(drug_concept_id=(c(4000794L,4002592L))) |> omop_join_name(namestart="drug")
#> # A tibble: 2 × 2
#> drug_concept_id drug_concept_name
#> <int> <chr>
#> 1 4000794 BUZZ OFF
#> 2 4002592 DEXAMETHASONE INJECTION
#if drug_exposure loaded:
#df2 <- drug_exposure |> distinct(route_concept_id) |> omop_join_name(namestart="route")
#df3 <- omop_concept_relationship() |> head() |>
# dplyr::collect() |> omop_join_name(namefull="concept_id_1")
#copes with different formatted columns e.g. if al NAs
#TODO add this as a test
#data.frame(bad_concept_id=(c(NA,NA)),concept_id=(c(3571338L,4002075L))) |> omop_join_name_all()
data.frame(drug_concept_id=(c(4000794L,4002592L))) |> ojoin(namestart="drug")
#> # A tibble: 2 × 2
#> drug_concept_id drug_concept_name
#> <int> <chr>
#> 1 4000794 BUZZ OFF
#> 2 4002592 DEXAMETHASONE INJECTION