次のようなデータフレームがあります。
FisherID Year Month VesselID
1 2000 1 56
1 2000 1 81
1 2000 2 81
1 2000 3 81
1 2000 4 81
1 2000 5 81
1 2000 6 81
1 2000 7 81
1 2000 8 81
1 2000 9 81
1 2000 10 81
1 2001 1 56
1 2001 2 56
1 2001 3 81
1 2001 4 56
1 2001 5 56
1 2001 6 56
1 2001 7 56
1 2002 3 81
1 2002 4 81
1 2002 5 81
1 2002 6 81
1 2002 7 81
...そして、ID が 1 年間に変更される回数が必要なので、必要な出力は次のとおりです。
FisherID Year DiffVesselUsed
1 2000 1
1 2001 2
1 2002 0
私はaggregate()を使ってそれを取得しようとしました:
aggregate(vesselID, by=list(FisherID,Year,Month ), length)
しかし、私が得たのは:
FisherID Year DiffVesselUsed
1 2000 2
1 2001 1
1 2002 1
Aggregate() は、同じ月にのみ出現した異なる船舶をカウントしたためです。成功せずに集計する別の方法を試しました。どんな助けでも大歓迎です。乾杯、ラファエル