1

パネル データセットに破損したデータがあります。一部のグループ (gid) と時間 (t) について、複数の観測値があります。すべての観測には変数 (数量) があります。R に、数量が最も少ない観測を除外させたいと思います。

私の現在の解決策はこれでしたが、これではRが除外する2つの同一の観測のどちらを制御しません...

IMS <- subset(IMS, !duplicated(data.frame(t,gid)))

例:

Product    Strength    Pack_size    y        t    Quantity    gid
Ibumetin    600MG        100      5.9183     1      10226    2613
Ibumetin    600MG        100      25.3500    1        100    2613

この例では、10226>100 であるため、除外される観測は数量が 100 のものです。

私はあなたが提供できる助けに感謝します.

ヘンリク

4

3 に答える 3

2

最も簡単な方法は、最大量が最初にリストされるようにデータを並べ替えてから、指定した方法を使用することです。

subset(IMS[order(-IMS$Quantity),],!duplicated(data.frame(t,gid)))
      Product Strength Pack_size       y t Quantity  gid
1    Ibumetin    600MG       100  5.9183 1    10226 2613
4 Simvastatin     30MG        90 12.3345 1     2102 2614
于 2013-05-23T15:38:04.277 に答える
1

unique(df) を使用して一意の行を返すことができます

于 2013-05-23T11:34:51.650 に答える