У меня есть столбец во фрейме данных clean.data$Country
. Одна из ячеек в нем в настоящее время записывается как USA(For Country)
. Это строка 3216, поэтому наблюдение можно просмотреть с помощью clean.data$Country[3216]
.
Я пытаюсь вставить пробел между «США» и круглыми скобками, но ни один из следующих методов не работает:
clean.data$Country <- str_replace(clean.data$Country, "USA(For Territories)", "USA (For Territories)")
clean.data$Country <- gsub("USA(For Territories)", "USA (Territories)", clean.data$Country)
Какие альтернативные методы существуют для меня, чтобы сделать это? Я попытался закрыть файл .rmd, очистить рабочее пространство от всех объектов и перезапустить RStudio.
Если вы уверены только в этой единственной ошибке точки данных, просто сделайте присвоение:
clean.data$Country[3216] <- "USA (For Territories)"
Если вам нужно более общее решение, которое могло бы решить эту проблему в нескольких местах, используйте шаблон регулярного выражения, который делает это:
clean.data$Country <- sub("^(\\w+)\\((.*)\\)$", "\\1 (\\2)", clean.data$Country)
Добавьте fixed = TRUE
или снимите скобки:
x <- "USA(For Territories)"
## Your attempt
gsub("USA(For Territories)", "USA (Territories)", x)
# [1] "USA(For Territories)"
## fixed = TRUE
gsub("USA(For Territories)", "USA (Territories)", x, fixed = TRUE)
# [1] "USA (Territories)"
## Escaping the parentheses
gsub("USA\\(For Territories\\)", "USA (Territories)", x)
# [1] "USA (Territories)"
Используя str_replace
, вы можете попробовать:
library(stringr)
str_replace(x, "USA\\(For Territories\\)", "USA (Territories)")
# [1] "USA (Territories)"
str_replace(x, fixed("USA(For Territories)"), "USA (Territories)")
# [1] "USA (Territories)"
Добавить
fixed = TRUE
кgsub
или выйти из скобок?