part7完成，测试通过，待优化

用aggregate()来分组算，类似于tapply()