Мы можем использовать grepl
, чтобы получить логический вектор, сопоставив «Программное обеспечение», «Данные» или «Компьютер» в столбце «Задания», преобразовав его в числовой индекс c и основанный на этой замене. значения с 'OTH' или 'IT'
df$Category <- c("OTH", "IT")[(grepl("Software|Data|Computer", df$Jobs) + 1)]
df$Category
#[1] "IT" "IT" "OTH" "OTH" "IT"
Или используйте ifelse
с grepl
ifelse(grepl("Software|Data|Computer", df$Jobs), "IT", "OTH")
data
df <- structure(list(ID = c(1, 2, 3, 4, 5), Jobs = structure(c(5L,
2L, 3L, 4L, 1L), .Label = c("Computer Engineer", "Data Engineer",
"HR Officer", "Marketing Manager", "Software Engineer"),
class = "factor")), class = "data.frame", row.names = c(NA,
-5L))