Найти часть слова (фактор) в R программировании - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать столбец, в котором я делюсь на две категории: Штаб-квартира или Поля. Вот пример данных:

Location<-c(Unites States Headquarters,Oklahoma City, Dallas, Washington DC, Kansas City)

mutate("Locations"=case_when(grep('Headquarters',Location,ignore.case = FALSE)~'Headquarters'))

Однако в итоге я получаю «Ошибка: LHS случая 1 (grep("Headquarters", Location, ignore.case = FALSE)) должен быть логическим вектором, а не целочисленным вектором». Какие еще функции я могу использовать для классификации местоположения в соответствующую категорию?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Попробуйте простое ifelse утверждение:

Данные :

location <- c("United States Headquarters","Oklahoma City", "Dallas", "Washington DC", "Kansas City")

Решение :

location2 <- ifelse(grepl("Headquarters", location), "Headquarters", "Field")

Выход :

location2
[1] "Headquarters" "Field"        "Field"        "Field"        "Field" 
0 голосов
/ 02 апреля 2020

Попробуйте:

location <- c("United States Headquarters","Oklahoma City", "Dallas", "Washington DC", "Kansas City")
filtered_loc <- c()

for (val in location) {
  filtered_loc <- c(filtered_loc, if_else(grepl('Headquarters', val), "Headquarters", "Field"))
}

filtered_loc возврат:

[1] "Headquarters" "Field"        "Field"        "Field"        "Field"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...