我有一些看起来像这样的数据:
ID lat long university date cat2 cat3 cat4 ...
00001 32.001 -64.001 MIT 2011-07-01 xyz foo NA ...
00002 45.783 67.672 Harvard 2011-07-01 abc NA lion ...
00003 54.823 78.762 Stanford 2011-07-01 xyz bar NA ...
00004 76.782 23.989 IIT Bombay 2011-07-02 NA foo NA ...
00005 32.010 -64.010 NA 2011-07-02 NA NA hamster...
00006 32.020 -64.020 NA 2011-07-03 NA NA NA ...
00006 45.793 67.700 NA 2011-08-01 NA bar badger ...
我想根据经纬度坐标估算大学列的缺失值。这显然是虚构的,因为数据的 500K 行在大学列上相当稀疏。像 Amelia 这样的插补包似乎想根据线性模型拟合数值数据,而 zoo 似乎想根据某种有序序列填充缺失值,而我没有。我想匹配接近的经纬度,而不仅仅是精确的经纬度对,所以我不能只通过匹配另一列的值来填充一列。
我计划通过查找与大学相关的所有经纬度对来解决该问题,在它们周围绘制一个边界框,然后对于所有具有经纬度对但缺少大学数据的行,根据哪个纬度为大学添加适当的值- 长框,它们位于,或者可能在已知位置中点的某个半径内。
有没有人做过类似的事情?是否有任何软件包可以更容易地对地理上最接近的经纬度对进行分组,甚至可以进行基于地理的插补?
如果可行,我想尝试根据数据中的现有值估算其他一些缺失值(例如 90% 的行带有 xyz、foo、哈佛值在第 4 类中也有狮子,所以我们可以为 cat4 估算一些缺失值),但这是另一个问题,我会想象一个更难的问题,我什至可能没有足够的数据来成功完成。