0

假设我有一个 x , y , z 的数据框,其中 x any y 是坐标,z 是高度。如何在 x 和 y 平面上创建 z 的毯子。我尝试使用 loess 函数来创建毯子

data.loess = loess(z~x*y,data =data.df)
data.fit = expand.grid(list(x = seq(min(x),max(x),0.1), y = seq(min(y),max(y),0.1)))
z = predict(data.loess, newdata =data.fit)

但预测的 z 值与原始高度不一致。

像这样的函数scatterplot3d只给我分散的点,我如何得到一个有丘陵和山谷的表面?

4

1 回答 1

1

我不知道“与原始高度不一致”这句话是什么意思,但为什么不看看:

persp(z)

x = seq(1,10,0.1); y = seq(1,10,0.1)
z= outer(x,y,"*")
data =data.frame(x=rep(x, times=91), y=rep(y, each=91), z=c(z) )
data.loess = loess(z~x*y,data =data)
data.fit = expand.grid(list(x = seq(min(x),max(x),0.1), y = seq(min(y),max(y),0.1)))
z = predict(data.loess, newdata =data.fit)
persp(z)

在此处输入图像描述

于 2013-02-22T09:16:16.747 回答