контуры не являются графическим параметром при использовании persp() в пакете rsm

Я пытаюсь реализовать 3D-график в R, используя функцию persp() пакета rsm. Я хотел бы добавить контурные линии к основе графика, например, как здесь: Нарисовать линию после persp, используя rsm в R

В документации rsm говорится, что это должно быть возможно:

В persp контурные линии могут быть добавлены с помощью аргумента контуров. Это может быть логическое или символьное значение, или список. Если логическое значение и TRUE, черные контурные линии по умолчанию добавляются к нижней поверхности блока.

https://cran.r-project.org/web/packages/rsm/rsm.pdf

Когда я это делаю, я получаю предупреждение и никаких контуров, хотя 3D-график генерируется просто отлично: "Warning message: In persp.default(a, t, q, contours = ("top") : "contours" is not a graphical parameter

Мне удалось заставить этот шаблон работать, используя код здесь: Есть ли способ создать трехмерный график с контурами под графиком в R?

Но было бы неплохо узнать, почему пакет rsm не работает (кажется) так, как рекламируется, если только я не делаю что-то не так?

Вот мой MWE:

library(rsm)

surface <- function(a, t){
  q <- (4*40)/(4*a^2 + 4*a*t^2 + t^4 + 4*40)
}

a <- seq(.00001, 5, length= 20)
t <- seq(.00001, 5, length= 20)
q <- outer(a, t, surface)

persp(a, t, q,
      contours=("top"))

persp(a, t, q,
      contours=T)


person beddotcom    schedule 17.12.2020    source источник
comment
В rsm persp() на самом деле persp.lm(), а его первые два аргумента — объект lm и формула. Поскольку вы передаете векторы в persp(), вы фактически вызываете graphics::persp(), у которого нет аргумента contours. Отсюда предупреждение. Посмотрите ?rsm::persp.lm для получения дополнительной информации.   -  person meriops    schedule 17.12.2020
comment
Вот так. Просто чтобы подчеркнуть этот момент, вы не можете использовать convert.lm для создания контуров данных. Вы должны соответствовать модели; тогда вы видите контуры подобранной модели, а не необработанных данных. Это могут быть совсем другие.   -  person Russ Lenth    schedule 16.01.2021