Я занимаюсь исследованиями Person-Environment, и надеюсь добавить строки P = E и P = -E на плоскости xy поверхности отклика, нарисованной каркасом решетки. В настоящее время у меня есть код:R Решетка: как добавить y = x линия и y = -x линии на плоскости xy в решетчатой каркасной функции?
PersonIV <- seq(-3, 3, length = 30)
EnvironmentIV <- seq(-3, 3, length = 30)
g.test.data <- expand.grid(PersonIV = PersonIV, EnvironmentIV = EnvironmentIV)
g.test.data$DV <- .5 + .4 * PersonIV + .6 * EnvironmentIV + .9 * PersonIV^2 + .7 * PersonIV * EnvironmentIV - .3 * EnvironmentIV^2
library(lattice)
trellis.par.set("axis.line", list(col = NA))
wireframe(DV ~ PersonIV * EnvironmentIV, g.test.data,
drape = T, screen = list(z = 30, x = -75),
main = "Person - Environment Fit Response Surface",
xlab = list(xlim = c(-3:3), label = "Personal IV", col = "black", font = 1, cex = 1, rot = 15),
ylab = list(label = "Environment IV", ylim = c(-3: 3), font = 1, cex = 1, rot = -42),
zlab = list(label = "DV", zlim = c(0:5), font = 1, cex = 1, rot = 90, lines = T),
scale = list(arrows = F, cex = 1, col = "black", tck = 1),
par.settings = list(box.3d = list(col=c(1,1,NA,NA,1,NA,1,1,1))),
)
Спасибо большое!
Пожалуйста, сделайте ваш пример воспроизводимым, поставив образец данных или используя один из тех, которые поставляются с ** решеткой ** или некоторым другим пакетом. –
Ознакомьтесь с [см. Рис. 13.7] (http://lmdvr.r-forge.r-project.org/figures/figures.html?chapter=13;figure=13_07) в книге Дипаяна Саркара ** с решеткой ** (начиная с его определения 'panel.3d.contour()'). Это не совсем то, что вы хотите, но может быть легко адаптировано. То, что вам нужно сделать, это настроить две строки (в том месте, где он устанавливает контуры), и заменить 'zlim.scaled [1]' на его 'zlim.scaled [2]' (чтобы построить –
Результаты, вероятно, будут (неизбежно) неудовлетворительными, потому что ** сетка **/** решетка ** использует «алгоритм живописцев». Поскольку [Дункан Мердок делает здесь] (https://stat.ethz.ch/pipermail/r-help/2011-May/277759.html), я мог бы предложить вместо этого использовать ** rgl **, который * будет * правильно обрабатывать линии, которые отстают от поверхностей. Удачи! –