Есть ли более эффективный способ замены значений в столбцах на основе поиска в них строк?
prac <- data.frame(`External Placement` = c(NA, NA, "Spanish words We place outside of our company", NA, NA, "Spanish words We place outside of our company", "Spanish words We place outside of our company", "Spanish words We place outside of our company", NA, "Spanish words We place outside of our company"),
`Internal Placement` = c(NA, NA, "Spanish words we place inside of our organisation", NA, "Spanish words we place inside of our organisation", "Spanish words we place inside of our organisation", NA, NA, NA, NA),
`None of the above` = c("Ninguno none", "Ninguno none", NA, NA, NA, NA, NA, NA, NA, NA))
Это примерные данные. Я использовал серию if/else, чтобы получить нужные мне значения, но я долго пытался найти способ сделать это с помощью mutate, case_when и т. д., чтобы делать меньше повторений. Есть ли способ лучше? Вот что я сделал до сих пор:
prac$`Vocational Training` <- ifelse(grepl("vocational training$", prac$`Vocational Training`),
"Vocational training", NA)
prac$`External Placement` <- ifelse(grepl("outside of our company$", prac$`External Placement`),
"External placement", NA)
prac$`Internal Placement` <- ifelse(grepl("inside our organisation$", prac$`Internal Placement`),
"Internal placement", NA)
prac$`None of the Above` <- ifelse(grepl("^Ninguno", prac$`None of the Above`), "None or other", NA)