又有"钱"可以向大家请教了,是一个合并clinical sites的问题。
现有79个sites,它们的ID、邮编和病人总数如下。
希望通过合并一些sites来达到每个site的最低病人数---20,大致步骤为:
(1)如果某个site人数不足20,则把它与离它最近的site合并,生成一个新site并删除原来俩sites;
(2)如果(1)之后所有site都够20人了,终止;
(3)如果合并过的site还是不够20人,重复(1)。
site间的距离根据sashelp.geocode里提供的经纬度算,合并过的site的经纬度按合并前俩sites的经纬度平均(没什么好办法)。
你可以自己规定一个顺序保证结果唯一。
因为一般不会超过1000个sites,所以效率不是问题,在下这个粗人只要求程序简单易懂。