-1

Sample of df:

   LASSO_deviance LASSO_AUC
68          0.999     0.999
2           1.000     1.000
39          1.000     1.005
7            1.02       1.2

I want to set cells which contain 1.000 to either NA or 0, in preferential order.

I've tried something like: df %>% mutate_at(vars(LASSO_deviance, LASSO_AUC), funs(gsub(pattern = "1{1}[^.{1,}]", 0, x = .))) with no luck.

user126082
  • 310
  • 2
  • 9

1 Answers1

0
tt <- "LASSO_deviance LASSO_AUC
68          0.999     0.999
2           1.000     1.000
39          1.000     1.005
7            1.02       1.2"

dat <- read.table(text = tt, header = T)

No need for regex because you can simply find where your data is equal to 1.000

dat[dat == 1.000] <- NA # or dat[dat == 1.000] <- 0
dat

# LASSO_deviance LASSO_AUC
# 68          0.999     0.999
# 2              NA        NA
# 39             NA     1.005
# 7           1.020     1.200
RLave
  • 8,144
  • 3
  • 21
  • 37