У меня есть формула в R как символьный вектор, и мне нужно удалить poly()
из этой формулы, если она есть.
Пример, и некоторые из моих (не успешных) попыток до сих пор:
p <- "(.*)poly\\((\\w.*)(.*)(\\))(.*)"
unique(sub(p, "\\1", "mined + poly(cover, 3) + spp"))
#> [1] "mined + "
unique(sub(p, "\\2", "mined + poly(cover, 3) + spp"))
#> [1] "cover, 3"
unique(sub(p, "\\3", "mined + poly(cover, 3) + spp"))
#> [1] ""
unique(sub(p, "\\4", "mined + poly(cover, 3) + spp"))
#> [1] ")"
unique(sub(p, "\\5", "mined + poly(cover, 3) + spp"))
#> [1] " + spp"
Мой желаемый результат:
Ввод: "mined + poly(cover, 3) + spp"
Выход: "mined + cover + spp"
Я пробовал так много шаблонов, но либо poly( ..., 3)
не был удален, либо , 3)
или , 3
остались в результирующей строке ... Любая помощь приветствуется! (кстати, 3
является произвольным, шаблон должен удалить любое значение степени ...)