Я использую факторы несколько нечасто и, как правило, считаю их понятными, но я часто нечетко описываю детали для конкретных операций. В настоящее время я кодирую/сворачиваю категории с небольшим количеством наблюдений в «другие», и я ищу быстрый способ сделать это - у меня есть, возможно, 20 уровней переменной, но я заинтересован в том, чтобы свести их кучу к одному.R: уровни факторов, перекодировка на «другие»
data<-data.frame(employees=sample.int(1000,500),
naics=sample(c('621111','621112','621210','621310','621320','621330','621340','621391','621399','621410','621420','621491','621492','621493','621498','621511','621512','621610','621910','621991','621999'),100,replace=T)
)
Вот мои уровни интереса, и их метки в отдельных векторах.
#levels and labels
top8 <-c('621111','621210','621399','621610','621330','621310','621511','621420','621320')
top8_desc <- c('Offices of physicians',
'Offices of dentists',
'Offices of all other miscellaneous health practitioners',
'Home health care services',
'Offices of Mental Health Practitioners',
'Offices of chiropractors',
'Medical Laboratories',
'Outpatient Mental Health and Substance Abuse Centers',
'Offices of optometrists')
Я мог бы использовать factor()
вызов, перечислить их все, классификации, как «другой» каждый раз категории было несколько замечаний.
Предполагая, что вершины 'top8' и 'top8_desc' являются фактическим верхним 8, что является лучшим способом объявить данные $ naics как факторную переменную и переделать все остальное как "другое"?
Hm, который включает в себя фактически метательные данные прочь, в отличие от изменения категоризации , но это, вероятно, то, что кодирование как фактор все равно в первую очередь. Полагаю, это не имеет большого значения. – ako
Вы всегда можете сделать дополнительный столбец в dataframe с преобразованными кодами. – kith
Я пробовал эту вариацию вашего ответа: 'levels (data $ naics) [которые (! Уровни (данные $ naics)% in% top8)] <-" other "' – ako