0

我正在使用库(MASS)中的 stepAIC() 函数。

根据文档,它说我可以传递一个“对象”:

适当类别的模型。这被用作逐步搜索中的初始模型。

什么是合适的班级?

我使用 ksvm() 创建了一个模型,但是 stepAIC 似乎不接受它。

我正在使用代码:

stepAIC(svmFit, direction="both")

我得到了错误

Error: $ operator not defined for this S4 class

我传递的对象svmFit属于:

[1] "ksvm"
attr(,"package")
[1] "kernlab"
4

1 回答 1

0

我不清楚接受哪些模型,但我们可以根据来源进行一些猜测。

它需要一个可以使用$(即通常是 S3 类)访问的模型。您的模型是 S4 类,因此根据定义将不起作用。

此外,至少需要有一个模型类的工作方法,用于以下功能:formula, terms, update.formula, nobs, extractAIC, deviance, update(从源扫描判断)。这可以是默认方法,例如,stats:::formula.default它可以找到x$formula、或公式属性。$terms$call$formula

如果这些方法中的一种或多种尚未实施,那么它也会失败。

基本上,它做出了许多适用于许多建模功能的假设,例如lmglm。可以编写一个新的建模函数来创建与 兼容的模型stepAIC,并且可能很难创建一个完整的列表!

于 2018-12-13T22:49:54.527 回答