Рассмотрим строку, такую как:
modelfilter <- "month %like% (1|2|3|4|5|6|7|8|9|10|11|12) & tier %like% (G: 100K-250K|A: 0-1K|H: 250K+|B: 1K-10K|F: 50K-100K|E: 25K-50K|C: 10K-20K|D: 20K-25K)"
Я хочу изменить это на:
modelfilter <- "month %in% c('1','2','3','4','5','6','7','8','9','10','11','12') & tier %in% c('G: 100K-250K','A: 0-1K','H: 250K+','B: 1K-10K','F: 50K-100K','E: 25K-50K','C: 10K-20K','D: 20K-25K')"
Для начала я попробовал это:
modelfilter <- trimws(stri_replace_all_regex(modelfilter, "[(]", "c('"))
modelfilter <- stri_replace_all_regex(modelfilter, "[)]", "')")
modelfilter <- stri_replace_all_regex(modelfilter, "[|]", "','")
modelfilter <- stri_replace_all_regex(modelfilter, "%like%", "%in%")
Тем не менее, при первой замене я получаю это в результате на SageMaker, однако он отлично работает в локальной системе:
month %in% c(\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'10\',\'11\',\'12\') & balance_tier %in% c(\'G: 100K-250K\',\'A: 0-1K\',\'H: 250K+\',\'B: 1K-10K\',\'F: 50K-100K\',\'E: 25K-50K\',\'C: 10K-20K\',\'D: 20K-25K\')