使用 loess() 和 mob()

问题描述

我正在尝试使用 partykit 中的 mob() 实现基于模型的决策树,并使用 loss() 函数拟合局部回归。我的代码如下:

library(partykit)

dataset = read.csv2('Women.csv')
formula = as.formula(Blood.systolic ~ height + weight | height + weight)
fit_func = function(y,x = NULL,start = NULL,weights = NULL,offset = NULL,...,estfun = FALSE,object = FALSE) {
  
  object = loess(y~x,control=loess.control(surface='direct'),weights = weights,...)
 
}
tree = mob(formula = formula,data = dataset,fit=fit_func,minsize=5000)

当我运行这个时,我收到以下错误:

simpleLoess(y,x,w,span,degree = degree,parametric = parametric,: 外部函数调用中的 NA/NaN/Inf (arg 2)

数据集是干净的,只包含 Blood.systolic、height 和 weight 三列 我试过的:

  • 检查数据中是否有na/nan/inf:s,没有
  • 尝试了为 https://cran.r-project.org/web/packages/partykit/vignettes/mob.pdf 中指定的 mob() 提供 fit() 函数的不同替代方法
  • 奇怪的是,例如,当我用 Blood.systolic~1 | height + weight 替换公式时,代码会运行(但结果不可用,因为它导致拟合向量为 1:s

有没有人知道如何解决这个问题?

提前致谢,感谢所有帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...