我想在 R 中绘制热图,但我的数据文件是这样的
Lat, Long, Zip, Zvalue
我基本上需要在纬度和经度值之间进行插值,并根据 z 值绘制颜色
我怎样才能在 R 中做到这一点
我最终想要得到这样的东西
套餐spatstat
是你的朋友!
http://www.spatstat.org/spatstat/ http://www.spatstat.org/spatstat/
如果您的数据是一组事件(例如对于许多 (x,y) 来说“在 (x,y) 发生犯罪”),那么您可以使用核密度估计来生成热图。您可以在此处查看示例:
https://github.com/drewconway/WikiLeaks_Analysis/blob/master/密度.r https://github.com/drewconway/WikiLeaks_Analysis/blob/master/density.r
特别是第 72 行。
如果您的 z 值是真实值(这可能是阅读您的问题的情况),那么您可以使用 spatstatsmooth
函数使用高斯核来执行插值并返回通过插值数据生成的一组像素。
或者,您可以使用akima
包(根据推荐spatstat
作者)用于在您指定的位置进行插值。它使用线性或基于样条的插值,看起来非常简单(尽管我没有这方面的经验!)。
更一般地说,您尝试做的事情通常被称为“克里金法”,因此如果您为此进行谷歌搜索,您会得到很多结果。参见例如这gstat
and geoR
包。
最后(和 FTW)您可以使用高斯过程来做同样的事情。这实际上将为您提供给定数据的可能插值的分布。 R 包kernlab
有一个实现,但我不知道如何使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)