Я изо всех сил пытаюсь свернуть несколько уровней факторов только в три уровня факторов одной указанной c переменной в R Studio.
Моя точка отправления - data.table
с 250 переменными и примерно 4000 строк. Для одной факторной переменной я хочу объединить ее 75 уровней в 3 уровня. Более того, из 75 уровней 4 уровня следует игнорировать (или предварительно установить значение NA), поскольку они содержат противоречивую информацию. Эта факторная переменная основана на ответах на опрос, которые также включают отдельные ответы в текстовом формате. Иногда даже язык отличается. Итак, это немного грязно.
Я пытался свести эти 75 уровней (или 71 уровень, если соответствующие наблюдения установлены на NA ранее) в 3 двумя разными способами. Однако R всегда возвращает +
вместо >
в консоли, и я не могу продолжать выполнять какие-либо другие команды. Конечно, я могу остановить это, нажав Esc
, но это не поможет мне получить желаемый результат.
Итак, этот воображаемый пример должен показать то, что я пробовал:
1) с помощью levels
и list
функции
levels(dt$x) <- list("No"=c("I don't allow anything", "..."),
"Yes"= c("Number of visitors ,annual sales, sales growth, number of customers", "Net sales", "..."),
"Maybe"=c("The CEO's approval is needed.", "To be discussed"))
2) с использованием пакета forcats
dt$x %>%
fct_collapse(No= c("I don't allow anything", "..."),
Yes= c("Number of visitors ,annual sales, sales growth", "number of customers", "Net sales", "..."),
Maybe=c("The CEO's approval is needed.", "To be discussed"))
Я предполагаю, что проблема возникает из-за структуры исходной переменной. У кого-нибудь есть идеи, как я могу решить эту проблему?
Большое спасибо заранее!
Best, Ilka