Ich benutze Faktoren etwas selten und finde sie allgemein verständlich, aber ich bin oft über die Details für spezifische Operationen unscharf. Momentan kodiere/kollabiere ich Kategorien mit wenigen Beobachtungen in "andere" und suche nach einem schnellen Weg, um das zu tun - ich habe vielleicht 20 Stufen einer Variablen, bin aber daran interessiert, einen Haufen von ihnen zu einem zusammenzufassen.R: Faktorstufen, Rest auf 'andere' umrechnen
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)
)
Hier sind meine Ebene von Interesse und ihre Etiketten in getrennten Vektoren.
#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')
konnte ich den factor()
Aufruf verwenden, aufzuzählen, sie alle als „andere“ für jedes Mal, wenn eine Kategorie hatte wenige Beobachtungen zu klassifizieren.
Unter der Annahme, dass die 'top8' und 'top8_desc' oben sind die Top 8, was ist der beste Weg, um Daten $ Naics als eine Faktorvariable zu deklarieren und alles andere als 'andere' zu rekodieren?
Hm, das die Kategorisierung zu ändernden im Gegensatz zu werfen Daten weg beinhaltet tatsächlich erlaubt , aber das ist wahrscheinlich das, was die Codierung als Faktor überhaupt erst macht. Ich nehme an, es ist nicht so wichtig. – ako
Sie können immer eine zusätzliche Spalte im Datenrahmen mit den transformierten Codes erstellen. – kith
Ich versuchte diese Variante Ihrer Antwort: 'Ebenen (Daten $ Naics) [welche (! Ebenen (Daten $ Naics)% in% top8)] <-" andere "' – ako