В моем фрейме данных есть столбец «Предложение», содержащий слова, а затем название штата. Я заинтересован в том, чтобы получить только название штата и создать отдельный столбец с этими только.
Пока я сделал это:
Pattern = paste0(paste0(".*\\b(", paste0(state.name, collapse="|")), ")\\b.*")
df$state = sub(Pattern, "\\1", df$Sentence)
Проблема в том, что Вирджиния - это штат Но Западная Вирджиния тоже.
Первый пример: предложение [1] = Я живу в Западной Вирджинии.
Второй пример: предложение [2] = Я однажды ездил в Вирджинию.
Для обоих примеров мой код возьмет слово "Вирджиния" и добавит его в столбец состояния.
Другими словами, слово "Западная Вирджиния" никогда не будет добавлено.
df <- data.frame(
Sentence = c('I live in West Virginia.', 'I went to Virginia once.'),
Result = c('West Virginia', 'Virginia'),
stringsAsFactors = FALSE
)
# Sentence Result
# 1 I live in West Virginia. West Virginia
# 2 I went to Virginia once. Virginia