Could someone explain to me why
df[df %in% c("a", "b", "c")] <- NA
does not work?
I have found a work around by using lapply and splitting the dataframe into a list of columns but I want to understand what is happening here. Thanks!
CodePudding user response:
The reason is that %in% works only on vector/single column and not on the whole dataset. We need
df[sapply(df, `%in%`, c('a', 'b', 'c'))] <- NA
