在这里学习SAS...
我有一个数据集,名称salesPeople
如下:
personID personZip
123 47382
123 47382
123 47382
123 47382
123 47382
123 47382
123 47382
123 47382
123 76737
123 76737
123 76737
123 Smallville
123 Smallville
123 Smallville
654 27767
654 27767
654 27767
654 27767
654 27767
654 27767
654 27767
654 83764
654 83764
654 83764
654 83764
654 Metropolis
654 Metropolis
654 Metropolis
654 Metropolis
... ...
对于每个personID
,可能有多达数百个观察值。其中绝大多数将使用相同的邮政编码。可能还有 1-3 个其他有效的邮政编码。并且,对于每个人,有几个观察值将具有城市名称(例如,超人前传)而不是城市邮政编码(在本例中为 47382,在超人前传中)。在这个数据集中,当在personZip
列中找到城市名称时,总是对应于最常正确输入的 personZip。
就我所做的而言,可以安全地假设将城市名称的所有实例替换为最常见的personZip
. 例如,在这里,Smallville
用47382
和Metropolis
替换是完全可以接受的27767
。事实上,这正是我想做的。数据集中有数千个唯一personID
值salesPeople
,以及数十万个观测值。
我想要做的是确定最常见personZip
的每个personID
,然后用该 zip 替换无效的城市名称。确定最频繁personZip
值并将其存储以便我可以将其与salesPeople
数据集合并回的最佳方法是什么?