我使用因素有點不常見,並且通常會發現它們易於理解,但我經常對特定操作的細節很模糊。目前,我正在對「其他」進行編碼/摺疊的類別,但很少有觀察到這些類別,並且正在尋找一種快速方法來實現這一點 - 我可能有20個變量級別,但有興趣將其中一些變爲一個。R:因子水平,重新編碼休息到'其他'
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'是實際的前8位,將數據$ naics聲明爲因子變量並將其他所有內容重新編碼爲'other'的最佳方式是什麼?
嗯,涉及實際投擲數據遠,而不是改變分類,但這可能是編碼作爲一個因素無論如何首先。我想這並不重要。 – ako 2013-03-20 22:24:09
您可以隨時使用轉換後的代碼在數據框中創建額外的列。 – kith 2013-03-20 23:25:02
我試過你的回答的這種變化:'水平(數據$ naics)[其中(!水平(數據$ naics)%in%top8)] < - 「其他」' – ako 2013-03-20 23:47:46