gpt4 book ai didi

r - 关于 ggmap 错误和最佳实践的热图

转载 作者:行者123 更新时间:2023-12-04 09:10:51 27 4
gpt4 key购买 nike

我想在 ggmap 上绘制热图。

  library(ggmap)
turku<-get_map('turku', zoom=13)
turkumap<-ggmap(turku, extent="device", legend="topleft")
turkumap
turkumap+geom_density2d(mapping=aes(x = lon, y = lat),data = test, )

我得到的错误是:
 Error in (function (x, y, h, n = 25, lims = c(range(x), range(y)))  : 
bandwidths must be strictly positive

测试变量为:
  test
lon lat var1.pred
1 22.25320 60.4314 -67.04862
2 22.25332 60.4314 -67.07793
3 22.25344 60.4314 -67.11007
4 22.25356 60.4314 -67.14517
5 22.25368 60.4314 -67.18336
6 22.25379 60.4314 -67.22478
7 22.25391 60.4314 -67.26956
8 22.25403 60.4314 -67.31783
9 22.25415 60.4314 -67.36973
10 22.25427 60.4314 -67.42537

建议?
变量 test 有更多的条目,我要绘制的是通过 gstat 库中的函数 krige 获得的克里金法的结果。

有没有更好的方法来做到这一点?

我对非常不同的解决方案持开放态度

最佳答案

您遇到的问题是 lat值都是一样的。这意味着 lat 中的方差方向为零,因此无法计算内核密度估计的带宽

您可以硬编码带宽,

turkumap + geom_density2d(mapping=aes(x = lon, y = lat),
data = test, h=0.01)

但在你的情况下,我建议不要使用 geom_density2d对于这个特定的数据集。也许只是绘制点?

关于r - 关于 ggmap 错误和最佳实践的热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com