0

I want to combine the below code to one set of code for a smarter approach. Below is the code:

mydata$INV_THERAPY_DESCRIPTION<-gsub("FACTOR","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("LOLAN","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("HEP-C","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("HHS ORALS","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("HS OTHER","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("HIV","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("IMMUNE GLOBULIN","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("OTHER","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("RARE","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("TRANSPLANT","Other",mydata$INV_THERAPY_DESCRIPTION)
mydata$INV_THERAPY_DESCRIPTION<-gsub("HOther","Other",mydata$INV_THERAPY_DESCRIPTION)
Numita
  • 141
  • 8

2 Answers2

1

Would str_replace in the stringr package work for your situation?

library(stringr)
    
original <- c("FACTOR","LOLAN","HEP-C","HHS ORALS","HS OTHER","HIV","IMMUNE GLOBULIN","OTHER","RARE","TRANSPLANT","HOther")
replacement <- c("Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other")
   
mydata$INV_THERAPY_DESCRIPTION <- str_replace(mydata$INV_THERAPY_DESCRIPTION, original, replacement)
Russ Thomas
  • 938
  • 4
  • 13
  • 23
0

Using case_when and mutate from dplyr:

library(dplyr)

mydata %>% 
  mutate(INV_THERAPY_DESCRIPTION = 
           case_when(
             INV_THERAPY_DESCRIPTION %in% c("FACTOR", "LOLAN", "HEP-C", "HHS ORALS", "HS OTHER", "HIV",
                                            "IMMUNE GLOBULIN", "OTHER", "RARE", "TRANSPLANT", "HOther") ~ "Other",
             TRUE ~ INV_THERAPY_DESCRIPTION
           ))
Matt
  • 7,255
  • 2
  • 12
  • 34