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]运算符并且我试图比较它们时,表格的长度不同。

4

2 回答 2

1

那应该是

unknown$MUNICIPALITY_NAME <- droplevels(unknown$MUNICIPALITY_NAME)

levels没有左侧的呼叫。

于 2015-07-28T08:49:24.610 回答
1

droplevels适用于data.frames分别factors不在.factor

所以你应该这样做:

unknown$MUNICIPALITY_NAME <- droplevels(unknown$MUNICIPALITY_NAME)

或者

unknown <- droplevels(unknown)
于 2015-07-28T08:51:34.670 回答