我使用Rstudio创建了一个具有两个级别(低和高)的三因子设计。我的因素是:
结果变量为“ % Degradation of Gallic acid
”
我的预测模型是:
water <- lm(y ~ C + S + T + C*T + C*S + S*T + C*T*S)
或
C <- T <- S <- c(-1, +1)
design <- expand.grid(C=C, T=T, S=S)
C <- design$C
T <- design$T
S <- design$S
y <- c(50, 46, 39, 36, 75, 73, 52, 55)
我的问题是如何为模型绘制响应曲面图?
答案 0 :(得分:1)
您可以使用misc3d
包绘制响应表面的3D等高线图。这需要一个可以根据您的拟合模型进行预测的功能。
它还需要您选择涵盖感兴趣范围的C,T和S值网格。我建议每个大约10个级别。
您需要选择等高线图进行绘制。您的数据介于36到73之间,因此可能会很有趣,例如40、50、60、70。使用heat.colors(4)
或其他调色板。
contour3d
函数通常不显示轴;您将要添加这些。
将所有内容放入代码中
pred <- function(C, T, S) predict(water, newdata = data.frame(C, T, S))
C1 <- T1 <- S1 <- seq(-1, 1, len = 10)
library(rgl)
library(misc3d)
contour3d(pred, x=C1, y=T1, z=S1, level=c(40, 50, 60, 70), color = heat.colors(4))
decorate3d(xlab = "C", ylab = "T", zlab = "S")
这将产生此情节(我已经旋转了一点以使事物更明显):
红色的表面是40的响应,淡黄色的是70。您可以看到C的水平无关紧要;您在低T和高S下获得最高的响应。