2013-02-06 39 views
-6

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

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

表面图怎么样,我们如何插入x/y/z点来产生2d热图?

+2

你是什么意思的*标准的R命令?*一切都在'基地'?或者当你打开R时加载了什么?您是否满意地使用R(通常)随附的核心软件包? – mnel

+0

链接线程中的方法是为MASS书中的2d插值描述的内容。听起来很标准...... – cbeleites

+0

@mnel好的,好吧......我只是想确保没有更简单的方法来绘制使用核心软件包的插值矩阵。没有理由得到紧张。 –

回答

5

那么,如果你不喜欢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的线)

smoothed interpolation

不然:为什么不使用gnuplot的?虽然它可能被认为是一个不同的软件以及...

+0

我刚才问过这个,因为我发现奇怪的是我们可以在一个命令中绘制矩阵图像,但是我们必须使用特殊的包来运行简单的插值。非常感谢。 –

+1

@RobertKubrick:您可能会注意到这种插值并不是那么简单:它不限于已经在偶数网格上的数据,而“黄土”是一个相当复杂的平滑插值。此外,我认为这反映了R对统计的重视,以及不仅仅是“简单”插值而且不同插值模型的事实。我真的推荐Ch。 15本MASS书。 – cbeleites