Я пишу этот ответ, так как в разделе комментариев недостаточно места, чтобы показать все. Я отредактирую / удалю его, если у вас все еще будут проблемы, и ответ изменится.
Я попытался создать образец набора данных из вашего изображения:
library(dplyr)
library(stringr)
set.seed(1)
sample_data <- c(
"link=Storing and Release Orders > Storing Order : Enquire;type=URL;url=https://wwwsg.portnet.com/SOROWeb/com/pn2/soro/web/EnquireSO/EnquireSOController.jpf;webenv=Internet (Secondary);",
"link=Pregate Services > Storing Order : Enquire;type=URL;url=https://wwwsg.portnet.com/SOROWeb/com/pn2/soro/web/EnquireSO/EnquireSOController.jpf;webenv=Internet (Secondary);",
"link=Delivery Order > Storing Order : Enquire;type=URL;url=https://wwwsg.portnet.com/SOROWeb/com/pn2/soro/web/EnquireSO/EnquireSOController.jpf;webenv=Internet (Secondary);",
"link=Electronic Shipping Note > Storing Order : Enquire;type=URL;url=https://wwwsg.portnet.com/SOROWeb/com/pn2/soro/web/EnquireSO/EnquireSOController.jpf;webenv=Internet (Secondary);",
"link=Vessel > Storing Order : Enquire;type=URL;url=https://wwwsg.portnet.com/SOROWeb/com/pn2/soro/web/EnquireSO/EnquireSOController.jpf;webenv=Internet (Secondary);"
)
df <- data.frame(
USERDATA = sample(sample_data, 30, replace = TRUE)
)
Затем я использовал ваш тот же код и факторизовал переменную category
, используя as.factor
cats <- df %>%
mutate(category = str_sub(USERDATA, 6)) %>%
mutate(category = str_trim(str_replace(category, ">.*", ""))) %>%
mutate(category = as.factor(category))
, и я получил переменную factor
с 5 уровнями (как и следовало ожидать)
cats$category
[1] Storing and Release Orders Electronic Shipping Note Storing and Release Orders Pregate Services Vessel Delivery Order
[7] Pregate Services Delivery Order Delivery Order Storing and Release Orders Vessel Vessel
[13] Pregate Services Pregate Services Storing and Release Orders Vessel Vessel Storing and Release Orders
[19] Storing and Release Orders Vessel Vessel Pregate Services Pregate Services Storing and Release Orders
[25] Electronic Shipping Note Storing and Release Orders Electronic Shipping Note Delivery Order Pregate Services Pregate Services
Levels: Delivery Order Electronic Shipping Note Pregate Services Storing and Release Orders Vessel
nlevels(cats$category)
[1] 5
levels(cats$category)
[1] "Delivery Order" "Electronic Shipping Note" "Pregate Services" "Storing and Release Orders" "Vessel"
Так что все должно быть хорошо, в этом случае у меня есть factor
длины 30 с 5 уровнями. Это то, что вы ожидаете?