我是 R 新手,对于我当前的项目,我必须绘制与特定事件相关的热图。此类事件大约有 200 万个观测值,每个观测值都有一个长坐标和纬度坐标。另外,我将地图数据转换为数据框,该数据框包含71个区,每个区都定义有一组坐标。我需要决定事件的哪个观察属于哪个区。我正在使用以下代码:
for (row in 1:nrow(data2015)){
point.x=data2015[row,"Latitude"]
point.y=data2015[row,"Longitude"]
for (name in names(polygonOfdis)){
if (point.in.polygon(point.x, point.y, polygonOfdis[[name]]$lat, polygonOfdis[[name]]$long, mode.checked=FALSE)){
count[[name]]<-count[[name]]+1
break
}
}
}
Run Code Online (Sandbox Code Playgroud)
data2015是事件的数据集,polygonOfdis是各区的数据集。
对于小数据集,这个算法还可以,但是对于我的数据集,它肯定会运行十几个小时甚至更多(对于只有当前大小的1/400的数据集,这个算法运行1到2分钟)。我想知道是否有更好的方法来找出哪个观察属于哪个区?我的问题是 point.in.polygon 函数花费太多时间,我想知道是否有其他函数可以做到这一点?
PS:当前的数据实际上只是我必须处理的真实数据的1/10,所以我真的需要一种更快的方法来做到这一点。
在我最近的一次软件工程师职位面试中,我被问到这样的问题:hashtable和hashmap之间有什么区别?我问面试官他是否具体是Java,因为在Java哈希表中是同步的,而hashmap不是(实际上谷歌搜索后的哈希表与哈希地图的比较大量的信息,所以这不是我要找的答案)但是他说没有和我想让我解释一下这两者的区别.
关于这个问题,我真的感到困惑和震惊(现在仍然感到困惑).IMO,hastable或hashmap只是一个术语问题.实际上只有Java既有术语又有其他语言如C++,它们甚至没有术语哈希表.在访谈中,我刚刚解释了哈希的原理,并说哈希图和哈希表都应该基于这个原则来实现,我不知道这两者之间是否有任何区别.面试官肯定不相信并且正在寻找其他答案,当然我在那一轮之后被拒绝了.
那么回到主题,如果有的话,一般(不是特定于Java)的hashmap和hashtable之间的区别可能是什么?
对于我目前正在进行的项目,我必须根据使用R的某些输入绘制纽约市社区的热图.我用Google搜索了这个主题并发现在R中,有一个名为"map"的包将允许你很容易画出美国各州的热图.但是,我不知道如何为一个城市绘制类似的热图,特别是在这里,纽约市?任何建议都非常感谢.