假设我有一个x,y,z的数据帧,其中x任何y是坐标,z是高度。如何在x和y平面上创建z的覆盖层。 我尝试使用黄土功能创建一个毯子
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
这样的函数只给我一些散点,如何得到一个有山丘和山谷的表面?
答案 0 :(得分: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)