[R] Apply gsub to dataframe to modify row values

Luigi Marongiu m@rong|u@|u|g| @end|ng |rom gm@||@com
Mon Aug 9 10:42:32 CEST 2021

I have a dataframe where I would like to change the string of certain
rows, essentially I am looking to remove some useless text from the
I tried with:
> df = data.frame(VAR = 1:3, VAL = c("value is blue", "Value is red", "empty"))
> df[df$VAL] = gsub("value is ", "", df$VAL, ignore.case = TRUE, perl = FALSE)
> df
  VAR           VAL value is blue Value is red empty
1   1 value is blue          blue         blue  blue
2   2  Value is red           red          red   red
3   3         empty         empty        empty empty
which is of course wrong because I was expecting
  VAR           VAL
1   1             blue
2   2             red
3   3            empty
What is the correct syntax in these cases?
Thank you

More information about the R-help mailing list