比较SAS中列内的值
我还没有找到这个问题的答案,尽管有一些类似的答案 我有一个大型数据集(900万行),其中包含比较SAS中列内的值,sas,comparison,Sas,Comparison,我还没有找到这个问题的答案,尽管有一些类似的答案 我有一个大型数据集(900万行),其中包含 id列(“id”) 如果“id”是该期间的新标识符(“新id”) 纬度柱(“lat”) 和经度列(“长”) 在SAS中,我想做的是,使用geodist函数,比较每一行之间的距离,并创建一个指示器“附近”,如果该id和任何其他id之间的距离小于50英里,则该指示器等于1,对于另一行,“new_id”=1 下面是我试图做的一些伪代码。任何帮助都将不胜感激。谢谢 伪代码: For all_rows1 in
- id列(“id”)
- 如果“id”是该期间的新标识符(“新id”)
- 纬度柱(“lat”)
- 和经度列(“长”)李>
For all_rows1 in data
For all_rows2 in data
if (geo_dist(all_rows1(lat), all_rows1(long), all_rows2(lat), all_rows2(long) < 50)
and all_rows2(new_id) = 1
then all_rows1(nearby) = 1
用于数据中的所有行1
对于数据中的所有_行2
如果(地理距离(所有行1(纬度)、所有行1(长)、所有行2(纬度)、所有行2(长)<50)
所有行2(新的id)=1
然后所有_行1(附近)=1
您需要发布一些示例数据,这听起来像是一个试图稀疏的距离矩阵。最终会有很多数据。以下是如何计算距离,但我不确定您想要什么作为输出。如果50内有2个存储,会发生什么情况?感谢您的快速回复。只要有1个存储,就会得到“1”。不过,我相信你发送的链接解决了我的问题。我真的很感谢你的帮助。这个故事中的“句号”是什么角色?你是否定期有一个新文件?你的行中有多少百分比有new\u id=1
?