我有一个非均匀定位的图像样本,并且想要插入到常规网格中,因为(除此之外)大多数图像图形函数都需要一个规则的网格。 我注意到有一些MatLab函数(例如参见Image interpolation from random pixels)显然会这样做,但找不到一个R-package。左右 这是一个简单的例子。
#make up some 2D func
y<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
x<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
inmat<-sin(x) + cos(y)
因此inmat
的值位于随机位置。我想要某种outmat<-interpolate(inmat,x,y,gridx,gridy)
函数,其中inmat
,x
和y
是所有矩阵或所有向量(未包装的矩阵)。
我也看到SciPy有http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html这样做。 R
包中是否有这样的功能,还是需要从SciPy
或MatLab
代码移植?
答案 0 :(得分:1)
链接页面提供指向grigillion R
包的指针,这些包执行Kriging或其他插值函数。
我发布个人选择作为回答这个问题的答案。
我发现akima::interp
是一个简单的函数,可以对任意样本位置集合进行2D插值
这并不意味着它对所有人来说都是最好的,而我的猜测是那些使用地理数据的人可能更喜欢使用特定地理测量相关文件类型和纬度/经度坐标系设计的软件包。