【问题标题】:R heatmap using interpolation [closed]使用插值的 R 热图 [关闭]
【发布时间】:2013-01-22 06:59:50
【问题描述】:

thread 解释了如何使用 akima 包从 x/y/z 坐标创建矩阵,但我宁愿不使用新包。毕竟,你可以在 gnuplot 的一个命令中做同样的事情:gnuplot interpolation

在上述 gnuplot 线程中使用数据点矩阵的图像绘图可以在 R 中通过调用 image() 命令来实现。

关于曲面图,我们如何插入 x/y/z 点以生成 2d 热图?

【问题讨论】:

  • 您所说的标准 R 命令是什么意思? base 中的所有内容?或者当你打开 R 时加载了什么?您是否很乐意使用(通常)包含在 R 中的核心包?
  • 链接线程中的方法是 MASS 书中对 2d 插值的描述。对我来说听起来很标准......
  • @mnel 好吧,好吧...我只是想确保没有更简单的方法可以使用核心包绘制插值矩阵。没有理由紧张。

标签: r interpolation heatmap


【解决方案1】:

好吧,如果您不喜欢akima::interp,也许stats::loess 合您的口味?

topo.loess <- loess (z ~ x * y, topo, degree = 2, span = 0.2)
x <- seq (min (topo$x), max (topo$x), .05)
y <- seq (min (topo$y), max (topo$y), .05)
interpolated <- predict (topo.loess, expand.grid (x = x, y = y))
image (x= x, y= y, z = interpolated, asp = 1)
points (topo)

(也沿着 MASS 的路线)

否则:为什么不使用 gnuplot?虽然它也可能被视为不同的软件......

【讨论】:

  • 我之所以问这个问题是因为我发现我们可以在一个命令中绘制一个矩阵图像很奇怪,但是我们必须使用一个特殊的包来运行一个简单的插值。很好,谢谢。
  • @RobertKubrick:您可能会注意到这种插值并不那么简单:它不限于已经在偶数网格上的数据,loess 是一种相当复杂的平滑插值。此外,我认为这反映了 R 对统计的重视,以及不仅有“简单”插值,还有不同的插值模型这一事实。我真的推荐Ch。 MASS 书的 15 篇。
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
相关资源
最近更新 更多