[R] Removing values from a string

Sarah Goslee sarah.goslee at gmail.com
Thu Jul 19 21:37:48 CEST 2012

There are a couple of ambiguities in your request, but this should get
you started:
> one$keyword <- gsub("NA\\|", "", one$keyword)
> one$keyword <- gsub("^\\|", "", one$keyword)
> one
1                 auto
2 auto|insurance|quote
3       auto|insurance
4            insurance
5       auto|insurance
6                 <NA>

Note that this won't remove values that are actually NA, as in row 6.
Also note that your keyword values are factors rather than character
strings. You may well want to add stringsAsFactors=FALSE to your
data.frame() command.


On Thu, Jul 19, 2012 at 3:21 PM, Abraham Mathew <abmathewks at gmail.com> wrote:
> So I have the following data frame and I want to know how I can remove all
> "NA" values from each string, and also
> remove all "|" values from the START of the string. So they should
> something like "auto|insurance" or "auto|insurance|quote"
> one = data.frame(keyword=c("|auto", "NA|auto|insurance|quote",
>  "NA|auto|insurance",
>                            "NA|insurance", "NA|auto|insurance", "<NA>"))
> one
> Can anyone point me in the right direction? I'm still not too familiar with
> regex or gsub to find a solution, and there doesn't seem
> to be anything helpful in the stringr package for this task.
> Thanks

Sarah Goslee

More information about the R-help mailing list