
レシピ
13.8
3
次元プロットに予測面を追加する
323
関連項目
図の体裁を設定する他のオプションについては、
?plot3d
を参照してください。
レシピ
13.8
3
次元プロットに予測面を追加する
問題
3
次元散布図に、予測面を追加したい。
解決策
まず、モデルオブジェクトから予測値を生成するユーティリティ関数を定義する必要があります。
#
モデルオブジェクトを引数として、
xvar
と
yvar
から
zvar
を予測する
#
デフォルトでは、指定された
x
と
y
変数の範囲で、
16
×
16
のグリッドを計算
predictgrid <- function(model, xvar, yvar, zvar, res = 16, type = NULL) {
#
モデルオブジェクトから予測面の
x
と
y
変数の範囲を決める。
# lm
と
glm
などで使用可能だが、他のモデルオブジェクトではカスタマイズが必要。
xrange <- range(model$model[[xvar]])
yr
ange <- range(model$model[[yvar]])
newdata <- expand.grid(x = seq(xrange[1], xrange[2], length.out = res),
y = seq(yrange[1], yrange[2], length.out = res))
names(newdata) <- c(xvar, yvar)
newdata[[zvar]] <- predict(model, newdata ...