Używam czynników dość rzadko i generalnie uważam je za zrozumiałe, ale często jestem niewyraźny odnośnie szczegółów konkretnych operacji. Obecnie koduję/zwijam kategorie z kilkoma obserwacjami w "inne" i szukam szybkiego sposobu na zrobienie tego - mam 20 poziomów zmiennej, ale jestem zainteresowany zawaleniem ich na jeden.R: poziomy współczynników, reszta reszty na "inne"
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)
)
Oto moje poziomy zainteresowania, a ich etykiety w oddzielnych wektorach.
#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')
mogę użyć połączenia factor()
, wymienić je wszystkie, klasyfikowanie jako „inne” za każdym razem kategoria miał kilka uwag.
Zakładając, że "top8" i "top8_desc" powyżej są rzeczywistymi top 8, jaki jest najlepszy sposób deklarowania danych $ naics jako zmiennej czynnikowej i przekodowywania wszystkiego jako "innego"?
Hm, że wiąże się rzeczywiście rzucają dane z dala, w przeciwieństwie do zmieniających kategoryzację , ale to prawdopodobnie przede wszystkim kodowanie jako czynnik. Przypuszczam, że to nie ma znaczenia. – ako
Zawsze można utworzyć dodatkową kolumnę w ramce danych z przekształconymi kodami. – kith
Próbowałem tej odmiany twojej odpowiedzi: 'levels (data $ naics) [which (! Levels (data $ naics)% in% top8)] <-" other "' – ako