私は因子をあまり使用せず、一般的に理解できると思いますが、特定の操作の詳細についてはよくわかりません。現在、観測値がほとんどないカテゴリを「その他」にコーディング/折りたたんでおり、それを行う簡単な方法を探しています.20レベルの変数がありますが、それらの束を1つに折りたたむことに興味があります.
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()
、それらをすべて列挙し、カテゴリに観測がほとんどないたびに「その他」として分類することができました。
以上が実際のトップ 8 であると仮定すると、 の値が正しくコード化され、他のすべてが として再コード化されるように因子変数として宣言する最良のtop8
方法は何ですか?top8_desc
data$naics
top8
other