r语言 - 插入记:glmboost 中的族规范不起作用



我正在尝试对插入符号(使用 Huber 系列)运行增强的稳健回归,但是在训练模型时出现错误:

library(caret)
X <- rnorm(300, 0, 100)
Y <- rnorm(300, 0, 100000)
data <- cbind(X,Y)
model <- train(Y~X, method="glmboost", data=data, family=Huber())

我收到错误"找不到函数Huber()",但是这明确包含在mboost包(glmboost基于的包)中。

任何帮助将不胜感激。

如果你只是用method="glmboost"运行library(caret),它将加载mboost包,但不会将mboost包附加到你的搜索路径。不建议包自动附加其他包,因为它们可能会导入可能与您加载的其他函数冲突的函数。因此,大多数包都是私下加载依赖项的。如果使用包名称完全限定函数名称,则可以在模型中使用它

model <- train(Y~X, method="glmboost", data=data, family=mboost::Huber())

或者,您也可以运行library(mboost)将包附加到搜索路径,这样就不必包含包名称前缀。

最新更新