Hello, I am currently working on a project that requires string matching. I am having an issue with string matching for one specific drug. I need to match statin to atorvastatin but when I use the grepl function, other drugs such as Bio-statin, sandostatin, somatostatin, etc. are picked up but shouldn't be. Are there any suggestions on how to fix this issue?
Welcome to the RStudio Community Forum.
Its not clear from your question if you want to replace particular matched strings, or obtain their location in a character vector. Hopefully, the following code will show you how to do both these things. If you need further help you will need to post a Reproducible Example (see the posting guide at the top of this forum).
drug <- c("atorvastatin", "Bio-statin", "sandostatin", "somatostatin", "atorvastatin") gsub("atorvastatin", "statin", drug) # Replaces the matched string with another #>  "statin" "Bio-statin" "sandostatin" "somatostatin" "statin" grepl("statin", drug) # All elements of 'drug' contain the substring 'statin' #>  TRUE TRUE TRUE TRUE TRUE grepl("atorvastatin", drug) # Only two contain the string 'atorvastatin' #>  TRUE FALSE FALSE FALSE TRUE drug[grepl("atorvastatin", drug)==TRUE] #>  "atorvastatin" "atorvastatin" which(grepl("atorvastatin", drug)==TRUE) #>  1 5
Created on 2020-07-03 by the reprex package (v0.3.0)
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.