Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-如何从插值等高线图中获取数据_R_Interpolation - Fatal编程技术网

R-如何从插值等高线图中获取数据

R-如何从插值等高线图中获取数据,r,interpolation,R,Interpolation,我用“R”已经有一段时间了。我的实际问题在于3d绘图和插值 我有一个带有3d数据的数据框。假设它是一个面积和相应的标高。我只有几个兴趣点,并使用插值功能。3d图给了我一张热图和等高线 现在我对等高线感兴趣,我想得到它的X和Y坐标。例如,实际插值数据并不包含完全为零的所有点 test = data.frame(x = rep(c(1,2,3), 3), y = c(rep(1,3),rep(2,3),rep(3,3)), z = rnorm(9, 0, 1)) mat = as.matrix(in

我用“R”已经有一段时间了。我的实际问题在于3d绘图和插值

我有一个带有3d数据的数据框。假设它是一个面积和相应的标高。我只有几个兴趣点,并使用插值功能。3d图给了我一张热图和等高线

现在我对等高线感兴趣,我想得到它的X和Y坐标。例如,实际插值数据并不包含完全为零的所有点

test = data.frame(x = rep(c(1,2,3), 3), y = c(rep(1,3),rep(2,3),rep(3,3)), z = rnorm(9, 0, 1))
mat = as.matrix(interp(test$x, test$y, test$z, nx = 10, ny = 10, duplicate = "strip"))[[3]]

image(mat)
contour(mat, add = TRUE)
contour(mat, add = TRUE, levels = 0, lwd = 3)
我尝试了几种拟合函数,如lm、黄土、lowess、nls等。但是没有一个适合我。要么是二维数据,要么是与等高线完全不同的数据点

有什么想法吗

致以最良好的祝愿


Lalle

好的,经过几天的搜索,我终于找到了解决办法

“grDevices”包中的函数“contourLines”返回所有插值线的列表