Я использую факторы несколько нечасто и в целом нахожу их понятными, но я часто не уверен в деталях конкретных операций. В настоящее время я кодирую / сворачиваю категории с несколькими наблюдениями в «другие» и ищу быстрый способ сделать это - у меня, возможно, 20 уровней переменной, но я заинтересован в свертывании нескольких из них в один.
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
, указанные выше, являются фактическими восьмёрками, как лучше всего объявить data$naics
как факторную переменную, чтобы значения в top8
были правильно закодированы, а все остальное перекодировано как other
?