Perfect, thank you! On Fri, Oct 28, 2022 at 11:53 AM Rui Barradas <ruipbarra...@sapo.pt> wrote: > > Às 10:43 de 28/10/2022, Luigi Marongiu escreveu: > > Hello, > > I have a data frame with a string column. All data that are neither > > "POS" nor "NEG" should've replaced by an NA. How can I implement that > > (even with extra libraries)? My attempts actually wipe out POS and > > NEG... > > Thank you > > > > ``` > > df = data.frame(a = 1:5, b = c("", "31.35", "POS", "20.61", "NEG"), > > stringsAsFactors = F) > > df$b[!(df$b == "POS") & (df$b == "NEG")] = NA > > df$b[(df$b == "POS") | (df$b == "NEG")] = NA > > ``` > > > > Hello, > > Here is a way. > Use `%in%` to get the values equal to either "POS" or "NEG", negate its > result and function `is.na<-` assigns NA's. > > > df = data.frame(a = 1:5, b = c("", "31.35", "POS", "20.61", "NEG"), > stringsAsFactors = FALSE) > > is.na(df$b) <- !df$b %in% c("POS", "NEG") > df > #> a b > #> 1 1 <NA> > #> 2 2 <NA> > #> 3 3 POS > #> 4 4 <NA> > #> 5 5 NEG > > > Hope this helps, > > Rui Barradas
-- Best regards, Luigi ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.