Я пытаюсь создать широкую отраслевую категорию из подробных категорий в моих данных.Мне интересно, где я ошибаюсь при создании этого с grepl в R?
Мой пример данных выглядит следующим образом:
df <- data.frame(county = c(01001, 01002, 02003, 04004, 08005, 01002, 02003, 04004),
ind = c("0700","0701","0780","0980","1000","1429","0840","1500"))
Я пытаюсь создать переменную под названием промышленность с 2 уровнями(например, agri, manufacturing) с помощью команд grepl или str_replace в R.
Я пробовал это:
newdf$industry <- ""
newdf[df$ind %>% grepl(c("^07|^08|^09", levels(df$ind), value = TRUE)), "industry"] <- "Agri"
Но это дает мне следующую ошибку:
argument 'pattern' has length > 1 and only the first element will be used
Я хочу получить следующий фрейм данных в качестве моего результата:
newdf <- data.frame(county = c(01001, 01002, 02003, 04004, 08005, 01002, 02003, 04004),
ind = c("0700","0701","0780","0980","1000","1429","0840","1500"),
industry = c("Agri", "Agri", "Agri", "Agri", "Manufacturing", "Manufacturing", "Agri", "Manufacturing"))
Поэтому мой вопрос состоит в том, как мне указать, начинается ли переменная 'ind' с 07,08 или 09, моя отрасльпеременная будет принимать значение «agri», если «ind» начинается с 10, 14 или 15, отрасль будет «производство»?Само собой разумеется, существует огромный список отраслевых кодов, которые я пытаюсь разбить на 10 категорий, поэтому я ищу решение, которое поможет мне сделать это с распознаванием образов.
Любая помощь приветствуется!Спасибо!