2015-07-28 20 views
1

。爲了擺脫從超(原始數據幀),我用droplevels(),繼承了未使用的水平,但是這在某種程度上打亂了在table()計數:爲了產生錯誤的計數,我們有一個大的數據框,我嘗試子集,然後表格()與表()混淆以產生錯誤的計數

#without droplevels() 

unknownMun <- table(unknown$MUNICIPALITY_NAME) 
unknownMun <- unknownMun[unknownMun >= 1] 

> unknownMun 

    Albertslund Kommune  Allerød Kommune  Ballerup Kommune  Bornholm Kommune  Brøndby Kommune   Dragør Kommune   Egedal Kommune 
       14      32      88      9      30      3      18 
Frederiksberg Kommune Frederikssund Kommune   Furesø Kommune   Gentofte Kommune  Gladsaxe Kommune  Glostrup Kommune  Gribskov Kommune 
       53      38      10      43      21      41      53 
     Halsnæs Kommune  Helsingør Kommune   Herlev Kommune   Hillerød Kommune  Hvidovre Kommune Høje-Taastrup Kommune  Hørsholm Kommune 
       80      23      46      35      22      2      70 
Københavns Kommune Lyngby-Taarbæk Kommune  Rudersdal Kommune   
       560      93      34 

如果我做同樣的droplevels(),這是我得到什麼:

levels(unknown$MUNICIPALITY_NAME) <- droplevels(unknown$MUNICIPALITY_NAME) 

unknownMun <- table(unknown$MUNICIPALITY_NAME) 

> unknownMun 

    Københavns Kommune Frederiksberg Kommune  Glostrup Kommune   Brøndby Kommune  Rødovre Kommune Albertslund Kommune Høje-Taastrup Kommune 
        1440      0      0       0      0      0      0 
    Hvidovre Kommune   Herlev Kommune  Ballerup Kommune   Tårnby Kommune   Dragør Kommune Lyngby-Taarbæk Kommune  Gentofte Kommune 
       0      0      0      0      0      0      0 
Rudersdal Kommune  Gladsaxe Kommune  Hørsholm Kommune  Helsingør Kommune  Gribskov Kommune  Halsnæs Kommune  Hillerød Kommune 
       0      0      0      0      0      0      0 
    Allerød Kommune   Furesø Kommune Frederikssund Kommune   Egedal Kommune  Bornholm Kommune 
       0      0      0      0      0 

有人能解釋什麼不順心這裏,以及如何解決它?

我更喜歡droplevels()之類的東西,因爲當我使用x[x >= 1]運算符時,表格會有不同的長度,我試圖比較它們。

謝謝!

回答

1

droplevels作品不上水平factor

所以,你應該做的兩種:

unknown$MUNICIPALITY_NAME <- droplevels(unknown$MUNICIPALITY_NAME) 

unknown <- droplevels(unknown) 
1

這應該是

unknown$MUNICIPALITY_NAME <- droplevels(unknown$MUNICIPALITY_NAME) 

不會對左側調用levels。分別data.framesfactors