У меня есть фактор, содержащий названия многих отраслей. Мне нужно разделить их на основные категории и отрасли. Например, поскольку я позволял респондентам отвечать, что они хотят, у меня есть завышенное количество уровней (например, финансовые услуги, финансовые услуги, банковское дело, финансы). Поскольку эти случаи не совпадают, они выходят на дополнительный уровень, поэтому я пытаюсь свернуть их с помощью forcats:
test <- fct_collapse(PrescreenF$Industry, Finance = c("Banking",
"Corporate Finance", "Finance", "Financial", "financial services",
"financial services", "Financial Services", "Financial services"),
NULL = "H")
Получаю предупреждение: «Финансовые услуги» неизвестны. Это очень неприятно, потому что когда я вызываю вектор, я вижу, что он действительно существует. Я пробовал скопировать и вставить точные слова из звонка, переписать его, и кажется, что есть скрытые символы, которые не позволяют его изменить.
Как мне правильно свернуть эти значения?
-> test$industry
Banking
Corporate Finance
Finance Financial
financial services
financial services
Financial Services
Financial services
Когда я перехожу к «переоценке», скажем, на последнем уровне «Финансовые услуги», он сообщает мне, что это неизвестная строка.
РЕДАКТИРОВАТЬ вывод dput (x $ промышленности)
structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L,
4L, 3L, 3L, 3L, 5L, 7L, 8L, 9L, 10L, 11L, 12L, 12L, 13L, 14L,
15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 16L, 16L, 16L, 16L,
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L,
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 18L, 18L, 18L,
18L, 19L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 25L, 26L, 27L, 28L
), .Label = c("", "{\"ImportId\":\"QID8_TEXT\"}", "Finance",
"Financial ", "Financial services ", "Please indicate the industry you work in (e.g. technology, healthcare etc):",
"Cleantech", "Delivery", "e-commerce/fashion", "Food", "Food & Bev",
"Retail", "Service", "tech", "technology", "Technology", "IT, technology",
"Software", "Technology ", "Tehcnology", "Consulting", "Digital advertising",
"Education", "Higher education", "Technology, management consulting",
"University professor; teaching, research and service", "Information Technology and Services",
"mobile technology"), class = "factor")
РЕДАКТИРОВАТЬ Разобрался. В некоторых терминах после окончания был лишний пробел. Например, хотя когда я называл Prescreen $ Industry, он возвращал несколько имен, таких как «Банковское дело» и «Корпоративные финансы», он не говорил мне, что после уровня был пробел. Банковское дело было на самом деле… «Банковским делом» с невидимым пространством, которое не отображалось в R. Как сделать так, чтобы это было видимым и не повторится?
Могу ли я запустить функцию len в столбце? Если да, то как это работает? PrescreenF $ Industry («Банковское дело»)?
stringr::str_trim
может помочь, но вам нужно сначала изменить множители на символ, а затем обратно на множитель. - person shea   schedule 05.10.2017dput(test$industry)
илиdput(head(test, 20))
? - person Rui Barradas   schedule 05.10.2017