我正在尝试使用persp()
函数绘制一些涉及两个连续变量的3D图,我认为margins
包已经(仍)对其进行了增强/替换。由于发现了this bug report,因此我不是100%知道此错误的状态,因此,这是一个已知问题,应该在一年前解决。此外,文档还建议存在margins::persp()
函数。但是我的margins
不会加载它……尽管它确实接受了graphics::persp()
不会接受的参数……我很困惑。
简而言之,"effects"
选项效果很好,但是"prediction"
选项引发了一个错误,该错误引用了模型中的任何因素。同时
使用iris
数据集和"effect"
:
library(margins)
library(dplyr)
library(purrr)
m1 <- lm(Sepal.Length ~ Petal.Length + Sepal.Width * Species, data = mutate_if(iris, is.character, as.factor))
persp(m1, "Petal.Length", "Sepal.Width", what = "effect")
但是,当我运行它进行“预测”时
persp(m1, "Petal.Length", "Sepal.Width", what = "prediction", data =mutate_if(iris, is.character, as.factor))
#> Warning in model.frame.default(Terms, newdata, na.action = na.action, xlev
#> = object$xlevels): variable 'Species' is not a factor
#> Error: variable 'Species' was fitted with type "factor" but type "numeric" was supplied
像往常一样,任何指针都非常感谢!