2015-07-28 87 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