我有一个这样的数据框:
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 每年更改的次数,所以我想要的输出是:
FisherID Year DiffVesselUsed
1 2000 1
1 2001 2
1 2002 0
我尝试使用聚合()来获得它:
aggregate(vesselID, by=list(FisherID,Year,Month ), length)
但我得到的是:
FisherID Year DiffVesselUsed
1 2000 2
1 2001 1
1 2002 1
因为aggregate() 计算了那些仅在同一个月出现的不同船只。我尝试过不同的聚合方式但没有成功。任何帮助将不胜感激。干杯,拉斐尔