Uso i fattori in modo raro e in genere li trovo comprensibile, ma spesso sono sfocato sui dettagli per operazioni specifiche. Attualmente sto codificando/comprimendo categorie con poche osservazioni in "altro" e sto cercando un modo rapido per farlo - ho forse 20 livelli di una variabile, ma sono interessato a farne crollare un po 'a uno.R: livelli dei fattori, ricodifica a riposo su "altro"
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)
)
Qui sono i miei livelli di interesse, e le relative etichette in vettori separati.
#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')
ho potuto utilizzare la chiamata factor()
, tutti enumerare, classificare come "altro" per ogni volta una categoria ha avuto alcune osservazioni.
Supponendo che il 'top8' e 'top8_desc' sopra siano i primi 8 effettivi, qual è il modo migliore per dichiarare i dati $ naics come variabile fattore e ricodificare tutto il resto come 'altro'?
Hm, che coinvolge i dati in realtà buttare via al contrario di cambiare la categorizzazione ma questo è probabilmente ciò che la codifica come fattore ha comunque in primo luogo. Suppongo che non importi più di tanto. – ako
È sempre possibile creare una colonna aggiuntiva nel dataframe con i codici trasformati. – kith
Ho provato questa variazione della tua risposta: 'livelli (dati $ naics) [che (! Livelli (dati $ naics)% in% top8)] <-" altro "' – ako